Factoring State out of promise
Adding future class
Adding Future spec to start working on the Scala API
Adding the onComplete method
Defined the Scala API in the spec
Adding zip method
Adding JSDoc to the existing methods
Adding onComplete

Also reformatted the design of the test cases
Adding #map

Also adding chai-spies for making sure callbacks are not called and then
cleaning up the zip code to make sure it's only called if both futures
succeed
Adding #fallbackTo
Adding #onFailure
Adding #onSuccess

Also making it clear that the API expects promises, not other futures
Adding #forEach
Adding #transform
Fixing the #value tests
Merge branch 'develop' into feature/futures
Adding #ready

Also removing foreach since it is similar to onSuccess and the naming is
less clear.
Removing #andThen

The result in JavaScript is basically the same as map
Removing #collect

Since partial functions don't make sense in JavaScript, this is also
being removed
Removing #mapTo

Map to does not make sense with dynamically typed languages