An alternative solution to #7729
This adds a clone of the current wallet. The second wallet can be enabled over --enable-lightwallet.
Includes:
- The cloned wallet is fully protected in its own namespace 
Lightwallet::. - Thanks to the init.cpp refactoring, the intersection between non-wallet classes is extremely minimal (47 lines in init.cpp).
 - Second wallet can run in parallel to the existing one.
 - Accounts are fully removed (including 
CAccount,CAccountEntry, etc.). - Full labels support from #7729
 - Only one send command (ex 
sandmanynow renamed to “sendcoins”) - All backward compatibility/version detection and version-backward-comp.-fixes has been removed
 - Version is reset to 
10000 
Benefits:
- safe way to remove accounts
 - safe way to add BIP32 and multiwallet support
 - safe way to remove BerkleyDB
 - safe way to slowly process separate the wallet (add SPV)
 - safe way to add a complete new GUI
 - no promise of a stable API until 0.14 or 0.15.
 
Currently bitcoin-cli misses some value conversion for some commands (you can use cURL for these commands).
This PR is large because of the copy of the content in src/wallet. You can verify the copy by diffing the first commit and start review on top of that**