Make commands less special, compose better

This is a potential fix for #665 and #731, opened early because it warrants a _lot_ of discussion.

**Major changes:**

 - `RACCommand` now inherits from `NSObject`.
 - Replaced `-addActionBlock:` with an initializer that accepts a block of the same type. Ironically, this makes `RACCommand` look kinda similar to the [pre-1.0 version](https://github.com/ReactiveCocoa/ReactiveCocoa/blob/49f4b9c90d8f5290a8145892f21171c01fb883c8/ReactiveCocoaFramework/ReactiveCocoa/RACCommand.h#L53).
 - `-execute:` now returns a signal which represents that single execution.
 - Added `executionSignals`, which is a signal of signals representing executions of the command.

The changes probably won't make much sense without seeing [how it's used](https://gist.github.com/jspahrsummers/80f301227a01b36c9495). The key here is that commands can now be [chained](https://gist.github.com/jspahrsummers/80f301227a01b36c9495#file-newcommands-m-L54-L63) in a meaningful and very natural way.

If this is interesting, the next question is when the change should be made. 2.0's got a lot of stuff in it already, and I'd hate to introduce such a big change so late… but I'd also hate to wait for 3.0 if we think this is a significant improvement.

P.S. Shout out to @jonsterling for helping me think through what a command is and what it should be like! :zap:

**To do:**

 - [x] Refactor `RACCommand` implementation.
 - [x] Refactor `RACCommand` unit tests.
 - [x] Add more unit tests for new features.
 - [x] Mark old `RACCommand` interface as unavailable.
 - [x] Update the changelog.
 - [x] Deprecate `-executeCommand:`.

@xpaulbettsx @Haacked