Initial version 0.2.x implementation.

This will include:

- [x] Using Q for promises, #6.
- [x] Using `opts` final parameter for optional parameters wherever it makes sense.
- [x] Document states using Sphinx and Sphinx autojs.