Initial version 0.2.x implementation.

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