Add a `status` method with tests
Make sure services are totally stopped before unregistering

This was causing some problems with the browser tests as Qs defer
behavior is slightly different between node.js and the browser.
Changed behavior of `Services.start`

It did reject if a service failed to start, but now it does not. Instead
it resolves with a list of services that successfully started and those
that did not.

If you need a bunch of services to have been guaranteed to successfully
start, then you should wrap that code in `Services.ready`, which will
not resolve unless all the required services are successfully started.
Fleshed out the documentation
Polish documentation

- Include docco in project
- Create rule for generating docs
- Small tweaks to the formatting of the docs
Enable travis ci builds

- Add .travis.yml file
- Make `npm test` work