Fully working version of sodium.net

It isn't pretty, but all unit tests are passing. Now time to start
refactoring