Siafunds + delays for output types
I'm going to go ahead and make this PR, but the build fails in a pretty bad way. The testing needs to be re-written unfortunately. Hopefully the new testing convention means that the tests will break less often.
I added siafunds, and everything now should be implemented. All that's left (heh) is testing and adding a way to nullify contracts. But I pretty much want to add contract nullifcation as a softfork just to see how it would work, and if it would work well.
I've also been increasing the amount of documentation. I feel like we're approaching a solid production codebase. Still a ways to go but it's feeling like the strongest of every project I've ever done, even of the smaller ones.