Catch errors to empty

Catch errors from commands.

We're already funneling errors out into a separate signal to make it easy for callers to handle them differently. I think it also makes sense to catch errors by default, so that this Just Works:

```objc
RACSignal *result = [command addSignalBlock:^(id x) {
    return [x doStuff];
}];
RAC(self.result) = [result switchToLatest];
RAC(self.errorLabel.text) = [command.errors map:^(NSError *error) {
    return [NSString stringWithFormat:@"An error occurred: %@", error];
}];
```

This handles the easy case out of the box. For the more complex case where they need to catch to something else, they'd already have to do the error-funneling themselves. So we're not adding any more work for that case.

This is obviously a change in behavior. We could lean into it, or offer it as an option. I think this is the Right Behavior by default.