[SON-HIVE Voting] Refactor cli wallet command vote_for_son, to enable voting for SON per sidechain

The goal is to separate voting for Bitcoin and Hive SONs, so that they can act independently of each others. All code affected by this change should be refactored, in a way that enables that Bitcoin SON and Hive SON are considered separate entities.

Current:

   signed_transaction vote_for_son(string voting_account,
                                        string son,
                                        bool approve,
                                        bool broadcast /* = false */)

Wanted:

   signed_transaction vote_for_son(string voting_account,
                                        string son,
                                        sidechain_type sidechain,
                                        bool approve,
                                        bool broadcast /* = false */)
Edited by Henry Belakon