[resolves #11] Support for promise API

  * `Dispatchr.dispatch()` returns a promise if no callback is specified
  * `Dispatchr.waitFor()` returns a promise if no callback is specified
  * Store handlers that do not take a second parameter can return a Promise to fulfill at a later date. Handlers with no return value will be assumed to be fulfilled.

Node 0.11 Promises don't seem to like something here. Need to figure out why.
What catch changed back on purpose?