Bugscrub

Wrote a few more tests, basically covering everything that I do when I run the client manually to check for problems.

I fixed a handful of things. For the most part, after this Sia should be ready for alpha v2. We can probably switch over to the release branch and start optimizing that.
So, there's one type of benign error that can be returned, and does get returned frequently. I'm not sure if I should just make it so it doesn't return an error in that case, if I should make it ignore that one particular error, or if I should just have the caller avoid calls that will return that error.

Still thinking about it.