[WIP] The Great Swiftening (a.k.a. the new 3.0)

**:warning: NOT READY TO MERGE :warning:**

Resolves #1365 and #1366. Per my comments in #1369, this is intended to be a long-running branch that will eventually become RAC 3.0, supplanting the [current `3.0-development` work](https://github.com/ReactiveCocoa/ReactiveCocoa/pull/966).

To get us started, I basically just subtree merged [jspahrsummers/RxSwift](https://github.com/jspahrsummers/RxSwift) into here, then bridged several RAC classes back and forth.

~~Currently, only the Mac framework target builds successfully. We may need to revamp our build settings in order to combine Swift and Objective-C correctly.~~
Not having had clear notion of what `I` and `O` and `P` were actually supposed to represent until now, I strongly disagree. `Input` and `Output` are much better names. I couldn’t really see that this was composition before; single letter parameter names aren’t distinct enough for my feeble brain to latch onto them.

Suggest `Result` instead of `NewOutput`, although I think that’s less important in the presence of `Input` and `Output`.