Incomplete Reorg
This is an incomplete code reorganization. I'm making the pull request because there's some code in walletStart() (in sia-cli/main.go) that is interfering with the startup of the program.
This PR moves a lot of code around, cleans a lot of things up, and finishes a lot of still that I didn't fully implement. It's about 1/3-1/2 of what the full reorg is going to be like.