Remove ReactiveCocoa and reimplement affected functionality

Use completion blocks instead of signals, and KVO instead of `RACObserve`