Split out the different extensions

The different extensions fit into different categories.  This should
make it easier to chose your extensions.
Add a core.js file temporarily to keep backwards compatibility
Include polyfills (to be served on promisejs.org)

The polyfills are for browser use, so do not include node.js extensions,
but do include a minimal implementation of `Promise.prototype.done` as I
believe that it is a feature that will be needed in browsers for the
forseable future, and will hopefully eventually make it into the spec.
Stop using spec mocha reporter as there are too many tests
Fix typo in polyfill.js
Merge pull request #49 from then/split-extensions

Split extensions