Initial test harness.

2 tests. `npm test` works. You can also run `npm run coverage` and get a coverage report, which is a little fancy.

Keeping tests in the same directory as the file has a nice benefit in that one, you don't have to go hunting for the files and two, when doing code review the tests are right after it.

I'd like to get an end to end encryption/decryption thing going on, but it will require generating gpg keys for testing, probably, and I don't want to bother this second.