add extra sharedrop info
Clean up spendable vesting balance handling
Merge branch 'develop' of github.com:BitShares/bitshares into develop

Conflicts:
	libraries/blockchain/chain_database.cpp
	libraries/blockchain/include/bts/blockchain/balance_record.hpp
Update submodules
More vesting cleanup
Scan sharedrop balances
Clean up rpc_server shutdown logic. Cleanup clients at unit test shutdown time. cancel_and_wait on client's start() task in it's destructor, because otherwise this task will continue to run after client is deleted, which will result in a crash in unit tests as it waits on the on_quit promise in the rpc_server (whose lifetime is controlled by the client).
The simulated network can call broadcast in multiple tasks (e.g. from a regular transaction operation and another from the delegate_loop task when it creates a block). The 2nd task could overwrite the promise from the first task, resulting in a crash when the promise was being waited on inside the broadcast. The proper solution in this case was to remove the wait, since a wait inside the broadcast doesn't accurately model network operation anyways.
Cleanup balance op validation logic for easier reading
Do not allow registering multiple accounts with the same owner key
Merge branch 'develop' into bitshares

Conflicts:
	libraries/blockchain/balance_operations.cpp
	programs/qt_wallet
	programs/web_wallet
Fix build after merge