Promise.thenOn & don’t unleash Zalgo

Closes #1.
Fixes #22.

`then` and `catch` always execute on the main queue. `thenOn` allows you to specify a queue.

Anytime a block is executed it is done on a queue. This is so we don’t unleash Zalgo.
Fix coloration in xctest
Run lldb tests after running Sinatra
Add documentation URL
++documentation
Insist that our rejecter block takes an NSError*
[Promise description]
Improved NSError generation & handling
Don’t imply an impossible stop
RETHROW_LIKE_A_MOFO
Promise.finally; Closes #11
Starting PromiseKit+StoreKit

Based on PromiseKit+UIKit (UIAlertView).
Fixed leak

Releasing the delegate on the productsRequest:didReceiveResponse:
leaves a delegate zombie, because requestDidFinish will be called
immediately.
Added rejecter on request:didFailWithError:
Add PromiseKit/StoreKit to the Podspec

Tag 0.9.7
Returning to main queue no longer necessary

Due to thenOn, and Zalgo avoidance, the queues we are on need to subsequently be on are handled in the `then`, all that is necessary is to ensure we do as much as possible in the background.
Handle text/* mimetypes

TODO extract encoding rather than assuming UTF8
Additional tests
You can reject with a rejected Promise

Fixes #28
Include the index of the failing Promise to when

Also you can now pass a NSDictionary to all/when, the returned Promise is then fulfilled with a dictionary with the same keys that correspond to the resolutions of the input promises.

Closes #31
Stop logging all errors

It’s not trivial to know if a catch handler has been executed for a rejection. However, logging all errors is just tedious.

So let’s remove it, and have nothing at all… for now.

Closes #32