* Add cancellable variants and cancellable dispatcher stubs for all new methods introduced by #1024
* Update Troubleshooting doc with solution for compilation timeouts, encountered primarily with cancellable promises
Rationale: Since this variant takes a specific
error object, it does not need checked against in
handler and is therefore likely to be explicitly
ignored (`_ in`). Thus removing the object removes
the need for this.
* Fix "Typechecking timeout compiling tests in v7 #1026" by specifying the closure return type in DispatcherTests
* Remove unnecessary "#if swift" checks in the cancellable code and tests
This patch adds the concept of a `CancelContext` to PromiseKit allowing chains to handle cancellation properly for each independent promise after the cancel point.
* Add StrictRateLimitedDispatcher
* Add ConcurrencyLimitedDispatcher
* StrictRateLimitedDispatcher now schedules only on execution
* Refactor rate limited dispatchers onto common base
* Limiter dispatchers complete and tested
* Add CoreDataDispatcher
* Grooming, doc comments, NSLock -> DispatchQueue
* Break Dispatcher implementation tests into separate classes to allow parallelism
* Move time measurement outside of serialization for rate limit test
* Update testing for Linux and slow Travis environments
* Build all v7 branches
* Additional comments for Dispatcher.swift
* Remove .promise namespacer from Dispatcher.dispatch -> Guarantee/Promise
* Convert to LogEvent system, groom logging and tests
* Expand DispatchQueueDispatcher to hold both a DispatchGroup and a QoS
* Finalize dispatcher.dispatch and related tests
* Clean up DispatchQueue wrapping, avoid assuming any particular defaults
* CurrentThreadDispatcher.dispatch needn't mark closure arg as @escaping
* Test that DispatchQueue.pmkDefault is identifiable with ===
* Documentation updates
* Build any v7* branch
* Rebuild Linux test manifest, check return types of Dispatcher.dispatch {}