v0.4.0 
Use bluebird promises instead of q. 
Add node style callbacks for those who don't want promises.