Add rudimentary wallet support, have coinjoin server demand donations

The donations still need to be dropped on merge (at least to the extent
needed to add miner fees), and the wallet does not yet have spend support,
but it is a start.

Note that these wallets are fully deterministic beyond the initial seed
generation. They also do not track transaction history (at least not yet
--- I'm unsure at this point whether I want to enable this, since this
software is not intended for day-to-day use, but rather for experimental
stuff..). The upshot of this is that you can literally copy wallets from
one system to another while they're in use with no ill effects, and if
you save nothing but the seed you will be able to get back all of the
old addresses.

Note that because of the prefix filtering being used, to import one of
these wallets into electrum, say, you will need to set the gap limit to
several thousand. And converting from electrum to wizards-wallet simply
will not work.