Accounts are no longer unique and belong to wallets

This patch changes the relationship between wallets and accounts. Before this patch, accounts were unique across the whole platform which prevented two accounts with the same name. Now, accounts are only unique within the same wallet but two different wallets can have the same account. This is to facilitate the implementation of web services that want to tie a customer/user to a wallet.