Additional Options + Parameter restructuring

First off, this is a sweet little module. As I started using it I found that it hid a lot of the underlying hub api (which is a good thing to me) but I had to keep adding more params on the Hub constructor function to expose more options. Instead of creating a bunch of parameters in the constructor I nested all of the params in an "options" object. This way, as more features are introduced into this module, there will be less chance of breaking existing systems and many more options can be added without adding additional params.