wallet: add interface for storing generic data on destinations

Add "destdata" record type to wallet, as well as accessor functions on CWallet and CWalletDB. This can be used by the UI to store arbitrary data tuples to be associated with a tx destination in the wallet.

A destdata tuple in the wallet is of the form (address, key, value) where the key acts to distinguish different types of generic data.

The purpose of this is to give the GUI a way to store:

- When an address table record was created (for #3207)
- The invoice Payment URI associated with a receiving address (for #3207)
- Outgoing payment requests (as soon as the GUI for this is ready), so that they can be associated with incoming transaction outputs when paid (transaction details could show this information...)

And possibly other data later.

I'll add tests when this is deemed a sane change.