Updaing package.json

Removing requirejs as a dependency since builds and tests are done
through wrapper tasks.
util/curry: reworked curry to use context

Instead of curry being a function that takes a single function as the
argument, use the context as the function to be curried, in the way of
util/construct.

This way to curry with predefined args:

    curry.call(fn, arg1, ...)

The old behavior of creating a currying function can still be gotten by:

    curried = curry.bind(fn)

This leads to less confusion about the number of functions involved.
Promise: moved the actual promise out

Into its own module! We separate the trait, which creates and attaches a
promise instance onto its context, from the Promise itself.
util/when: fixed up Promise usage

Can no longer use trait/promise as a Promise implementation.
Testing both separately. There is no Promise implementation test except
for the Promises/A+ compliance test.
Promise tests: moved from trait/promise

Tests moved and module added to build
Merge branches 'curry' and 'promises' into behance-0.4