Resolve #619

The blockchain does not allow one key to belong to two accounts;
however, if the user attempted to update an account's active key to a
key which already belongs to another account, the wallet would create
the transaction and cache the new key. The transaction was subsequently
rejected by the blockchain, but this left the wallet in an inconsistent
state.

The wallet now checks that the new key does not belong to another
account, and rejects the update if it does.