Update documentation and add mocha tests

Updates the documentation to include async usage. Adds mocha for testing.

I went bare-bones on the testing, but I can add a lot more if you have (for example) a travis account and/or a codeclimate account (both are free incidentally).

Any chance you can publish these changes on npm as a new version?