getrawchangeaddress should fail when keypool exhausted
An user on IRC reported an issue where getrawchangeaddress
keeps returning a single address when the keypool is exhausted.
In my opinion this is strange behaviour.
- Change CReserveKey to fail when running out of keys in the keypool.
- Make getrawchangeaddress return RPC_WALLET_KEYPOOL_RAN_OUT when unable to create an address.
- Add a Python RPC test for checking the keypool behaviour in combination with encrypted wallets.