Tape tests

Hey Alan,

OK - this is a bit of a monster in terms of commit count, but it should merge cleanly against the `develop` branch as I've been ensuring this branch is always up-to-date with changes there.

Essentially - this brings in the start of a suite of tests that should allow us to bring in CI into the mix - which will be awesome!  As per other node modules the tests can be invoked by running `npm test`.

If you have any questions, let me know :)

Cheers,
Damon.