Flatten more cases in all, isolate non-promise value case
Move some logic from makePromise to PromiseMonitor
Simplify monitor handling, save some bytes
Use continuation object to thread context though handlers.

This replaces the argument list approach, which was verbose
and confusing, especially when looping and unpacking the
arguments, with an object with named properties.  It makes
the code much more readable and compact.

There seems to be little to no performance impact AS LONG
AS CONTINUATIONS ARE MONOMORPHIC.  Forgetting to set a
property on a continuation can lead to a major perf hit
on v8.  We may want to create an actual Continuation
constructor to help, but I don't feel the need just yet.

This change also has the nice side benefit of saving about
50 bytes from the min+gzip build.
Fix doc typos
Move id generation to PromiseMonitor
Simplify monitoring. reduce reporting delay, can get away with almost no delay at all now.
API docs: when/timeout references promise.delay

It should reference promise.timeout
Merge pull request #303 from scothis/patch-1

API docs: when/timeout references promise.delay
Simplify browser testing

npm run browser-test

Converted tests to "plain" commonjs--no boilerplate, except one sniff
for window.buster vs require('buster'), which we may also be able to
eliminate via browserify's -x switch. npm run browser-test builds
those into a single file: test/browser/tests.js and then runs
buster-static.

This simplifies things a lot.  There's no need for curl or curl
config, or the curl-privileged hoop jump.  It also gets rid of the amd
path/moduleid boilerplate.

Updated to jshint 2.x and buster 0.7.x.

Add custom sauce runner based on test-support. Update browser list

Fix ci command

Fix jshint warnings

Add missing dep

Port all tests to cjs. Browserify all tests for ci

Update authors and add note about original vs. derived

Re-enable node tests on CI. baby steps

Use poly. mmmm nice html testbed now
Merge pull request #300 from cujojs/simplify-browser-testing

Simplify browser testing
Fix done
Simplify PromiseMonitor internals a bit
Minor cleanup
Always report unhandled rejections, even w/o done()
Merge pull request #306 from cujojs/report-unhandled-rejections

Always report unhandled rejections, even w/o done()
Merge branch 'dev' of github.com:cujojs/when into dev

Conflicts:
	when.js
Make enqueue function configurable for unhandledRejection decorator. Configure buster tests to report unhandled rejections after a very long delay to avoid false positives due to nature of returning promises in buster.
Experiment with fast-path for fulfilled then() w/no handler
Fully externalize unhandled rejection tracking, even long stack traces. Remove console rendezvous entirely in favor of Promise decoration

Only unhandled rejections that are really observed (ie have a handler)

Tighten context push/pop when calling handlers

Provide backcompat when/monitor/console that monitors when.Promise, and also new when/monitor which can be used to monitor any Promise type created with when/lib/makePromise, including es6-shim/Promise