feat(Public API, Testing): Switches to Bluebird as promises library of c...

...hoice

NOTE: This commit is contingent on #14 and #13 to be absorbed first. Replaces
when.js with Bluebird as the promises library used by Atomic. This simplifies
then when/whenAll/whenAllSync commands, offers better debugging (no need for
the Atomic.e object going forward) and can also remove the double-then()
catching that was required to properly handle errors.

BREAKING CHANGE: The deferred object is no longer resolved by calling the
resolved() method, but instead must be satisfied with the Bluebird compatible
API fulfill()

Original code:
var d = Atomic.deferred();
d.resolve(value);

New code:
var d = Atomic.deferred();
d.fulfill(value);