1. make the wallet generate segwit change addresses by itself so that we can just use sendtoaddress and other RPC calls without workarounds (maybe an option in config?),
This is being worked on for the next version of Core (after 0.15.0). It will likely be a minor release.
Are you sure about this? I've heard comments that this is not by default on 0.15
You still have to use the cli