Tests

Initial go at a test suite. Only some basic stuff in there to get started.

The idea is to test in JS-land, even stuff that needs to be verified in C++-land should be passed back up through a binding.

Separate modules for separate testables, all built with a single binding.gyp, each module is paired with a *-test.js, run with tap.