basic package.json, grunt and .jshintrc files, fix all linting problems
get the basic test harness working, add watch and server tasks, refactor code so that multiple modules will work nicely with the test framework