Deferred: produce and consume standard thenables

A mere 41 bytes minified/gzipped... or so says Grunt.

I properly have style issues so thanks for pointing them out (or fix them in the relevant branch ;)).

Test coverage is probably not good enough but .when() is tested extensively at least.
Shouldn't this test actually throw an exception rather than just rejecting?  Otherwise the try/catch path isn't getting tested