Restructure and added unit tests, rake stuff, nuget stuff