Operator-based backpressure

I've realized that backpressure can be modeled using [a signal of cold signals](https://gist.github.com/jspahrsummers/5032383). Instead of [tearing apart `RACSignal`](https://github.com/ReactiveCocoa/ReactiveCocoa/pull/808) and putting it back together again, we can just provide some operators to make the signal-of-signals pattern easier and more obvious.

`-flatten:` (the bounded overload of `Merge`, in .NET parlance) already sorta does this, so we only need to customize its behavior when the maximum has been reached. As a bonus, `-concat`, `-switchToLatest` (`Switch`), and `-throttle:` can all be implemented in terms of that operator.

Fixes #410.

**To do:**

 - [ ] ~~Capture https://gist.github.com/jspahrsummers/5032383 in a reusable operator or pattern.~~
 - [ ] ~~Add some backpressure samples… somewhere. (As tests?)~~
 - [x] Test the "drop latest" policy.
 - [x] Test the "drop earliest" policy with N > 1 concurrent signals.
 - [x] Reimplement `-throttle:` with `-flatten:withPolicy:` and rename it
 - [x] Add a "drop latest" version of `-throttle:`, a la #410 
 - [x] [CHANGELOG](https://github.com/ReactiveCocoa/ReactiveCocoa/blob/backpressure-operators/CHANGELOG.md#generalized-throttling)

@paulcbetts @erikprice @mattpodwysocki @headinthebox