Add nodejs and cleanup source tree

This adds node.js support.

The default grunt task has been changed to also build an npm package into the dist tree.

npm test has been updated to run both the browser tests and the node.js server-side tests.  You can run just the old browser tests by executing "grunt mocha_phantomjs", to run just the server tests execute "grunt mochaTest".

The unnecessary package.json files scattered throughout the source tree have been removed.