Start refactor to support unit tests
make sure errors are returned through the callback instead of thrown; use bluebird instead of async
more work to support tests
Merge branch 'feature/tests' into develop
0.2.0