Use a class constructor instead of -init…

This makes signal chaining look more natural, and allows the class to
be implemented as a cluster (perhaps at some point in the future).
Replace -pullback: with postcomposition

This leads to more natural chained usage.
Add -flattenMap: parallel for RACSignalProvider