Working, tested, non-buggy (I'm pretty sure) consensus, adding generic wallets.

Because I was doing two things at once today, and the first one completely failed and collapsed, this PR unfortunately has 2 things happening at once. The first is a cleaning up of the bootstrap process and the consensus algorithm (which appears to work without bugs at this point), and the ability to create new wallets through the fountain wallet.

The cli isn't perfect, the printing isn't perfect, but as far as I can tell everything is usable.

:D