Tweaktown

So this makes the queue actually asynchronous, which prevents random hangs when a callback function throws. It also simplified the `_processMessage` function a bit, which is nice.

Testing has been switched to use [lab](https://github.com/spumko/lab) since it gives the added benefit of being able to very easily test for code coverage. And it's what I'm more familiar with.