Deferred wasn't delegating `raise` to the promise.

Also, there were no specs, so I've added *basic* coverage, to ensure
that we at least have something to start from.
Add `MrDarcy.all_promises`.

A magic promise that resolves when all it's child promises are resolved,
or rejects when the first one rejects.
Bump version to `0.3.0`