[WIP] Replace multicasting and replaying with promises

**:warning: NOT READY TO MERGE :warning:**

We always say that [RAC can represent futures and promises](https://github.com/ReactiveCocoa/ReactiveCocoa/blob/16a9b8c7b4b61a3da557010fbfc832b44554a582/README.md#introduction), so let's just make it obvious.

Although this class is fairly similar to `RACMulticastConnection` in terms of the operations offered, I think its _purpose_ and usage patterns will be different enough that it justifies a new class.

Based on the [use cases](https://gist.github.com/jspahrsummers/7000136) that I explored, I expect `RACPromise` to obviate most of the need for `RACMulticastConnection` _and_ `RACReplaySubject`. Both will remain available, but deprecated.

**To do:**

 - [ ] Test `RACPromise`
 - [ ] Deprecate `RACReplaySubject`, `RACMulticastConnection`, and corresponding operators
 - [ ] Update documentation and examples
 - [ ] CHANGELOG

@paulcbetts @jonsterling