Fixes async API; adds unit test; fixes unit testing

This pull request features three basic highlights:

### Fixes the asynchronous API
As per [these Node.js docs](http://nodejs.org/api/process.html#process_process_nexttick_callback), APIs made in Node.js should be explicitly asynchronous or synchronous. Since this API is designed to be asynchronous and automatically returning a `callback()` was a violation of this, this has been rectified.

### Adds unit test
Per the error thrown when you don't pass a defined parameter object, I have added a unit test to test for this functionality.

### Fixes unit testing
Before, nobody really knew what to do with the unit tests. Now, the project lists nodeunit as a `devDependency`, making it easier to install. It also adds the unit test script to the `package.json` so you can just do:

```bash
$ npm test
```