Start testing

Got the Mocha test framework in place. This is so we can refactor and clean up and add features with no fear.

This PR is just a start, there's plenty more tests that could be added. Basically, I like to start by testing the routes with actual HTTP requests, since it's so cheap to do in Node. That way we can mess around with the code base, without having to refactor tests. More often than not, projects like this can go on for a long time without ever needing unit tests.

Also added:

- Mocha as a devDependency
- Should.js as a devDependency
- IOU for global Promise constructor
- Underscore because it makes code cleaner and saves developer time