Can you please throw some light over that bold part? I'm unsure of the issues with the current version of core and whether I should wait for the newer release of core (i.e.; 0.16)
Core is constantly being developed and if you go to github and download the latest commit in source code form and then compile it yourself then you have a newer version than the precompiled version (the official release if you like).
The Segwit functionality for the wallet was added in one of the commits for 0.15.0.1 but they delayed rolling into the 0.15.1 release and held it back for 0.16.0
One of the Core developers recently posted on this forum that he expects it to be released in February.
The reason why I'm interested in that is, when we have at least one thing fixed, we can use it to sign messages to prove that we possess it.
You can sign and verify a message with a bech32 address using Electrum. The Core implementation will use 3 addresses by default but also supports bech32 so should also be able to do this. I'm not sure what advantage there is in being able to sign a message from the underlying legacy address to '3' Segwit address if that is what you trying to achieve.
I'm aware of the fact that it breaches the code of anonymity for which bitcoin was created, but isn't it true that when we try to send all the funds in our wallet, it shows all the addresses in the list of the transaction when they are sent to one or more addresses?
If a transaction contains input from more than one address then it can be concluded that the addresses are in the same wallet, but I'm not sure how that is relevant to this.