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 transactions when paid (transaction
  details could show this information...)

And possibly other data later.