Reformatting to fit in 80 columns
Fixing the link to Q-Comm in the readme
Q-Comm is now called Q-Connection.
Failing test in Node.js 0.10 for the nextTick issue.
Prefer `setImmediate` to `nextTick`, to fix stack overflows in Node.js 0.10.

Fixes #259, fixes #254.
Fix JSHint/mixed tabs and spaces errors.
Clean up of unhandled rejection code.

Substantive changes:
- Exposes the unhandled rejection reasons as `Q.unhandledReasons`.
- Uses "reason" more consistently, in place of "exception" and "error".
- Changes the `console.log` message to be something a bit more explicit than "should be empty".
Fix #252: spurious unhandled rejections.

Calling `deferred.resolve()` then `deferred.reject()` would cause a spurious report of an unhandled rejection, because `deferred.reject()` worked by creating a rejected promise, even if `deferred.promise` was already resolved.

Also, clarified some variable names while I was there, like `resolvedPromise` instead of the deceptive `value`. This was especially confusing when the argument `value` to `resolve` and `fulfill` was shadowing the outer one.
Add link to run the tests online. Closes #227.