Added test suite, default channel and slightly rewritten.

So I used your module but accidentally posted to the #general channel in development. I thought it would be neat to define a default channel for use if your message doesn't define one. 

When I pulled down the repo to add that feature I noticed that sometimes the module doesn't callback in the node callback pattern e.g. `cb(err,res)` so I re wrote it to do that and added tests along the way! 
 
This pull request will break existing implementations if the user chooses to upgrade. I think that is a good trade off as we now have good behaviour. For this reason I upped the package version to signify a breaking change.

Please do reply if you think otherwise, i'll be glad to work with you to get this in!

Run tests with `npm test`. They're written for mocha.