The great reorganization

Moved lots of files around so that there is a little better organization.
Switched to use grunt to build files.
Switched to use browserify for client code.
Added uglify for release builds.