Fully externalize unhandled rejection tracking, even long stack traces

See #309

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