Tests and CI

I ended up putting in some work around tests.

This pull will set travis as our ci (with all the settings to get everything to build on travis) and fix some of the basic errors when running tests. `test/board.js` passes but `test/capabilities.js` still fails pretty hard but with assertion errors instead of runtime errors.

As an aside I have no idea why we need to use clang, but gcc wont build any of the node-gyp stuff on tavis's build of ubuntu.

Also we may not want to enable travis on the main j5 repo until we have a passing test suite.