Package Safety
Tried to add some additional support for protecting structures. Needs more work, but it's a good start.
I unexported all of the state fields, must use getters now. Getters do not return pointers, so someone cannot modify an object after using a getter. The only way to manipulate the state object is by calling AcceptTransaction and AcceptBlock.
Had to rework wallet a bit, not really happy with that but it seems to work alright at this point.