Move most RACCommand logic to the main thread
Add a couple assertions to verify the main thread

These might help someone migrating from RAC 1.x.
Derp, canExecute needs to be main-threaded too

Otherwise, we can't bind it to the UI easily.
Test that RACCommand completes on the main thread
No need to redeliver RACCommand.canExecute anymore
Undo some documentation changes
Merge pull request #540 from ReactiveCocoa/main-thread-command

Refactor RACCommand to work solely on the main thread
Removed some dead code.
Merge branch 'master' into racobservablepropertysubject-custom-keypath-handling
Merge branch 'master' into racobservablepropertysubject-custom-keypath-handling
Rewrote RACObservablePropertySubject's bindings.
Fixed formatting in NSObject(RACObservablePropertyObserving) docs.
Renamed willBlock and didBlock to willChangeBlock and didChangeBlock.
Save keyPathComponents in temporary.
More saving keyPathComponents in temporary.
Added serializing of callbacks.
Refactored the deeply nested branches into early returns.
Synchronize access to childDisposable.
Removed the note about RACObservablePropertySubject's thread-safety.
Merge branch 'master' into racobservablepropertysubject-custom-keypath-handling