Mapping with key paths

I once thought about streams having `-valueForKeyPath:`, as a map operation, but I didn't think it would garner much interest. However, if it's stream aware, it seems a bit more interesting.

While working on some code that looked like this:

```objc
RAC(self, propertyName) = [[RACObserve(self, currentFoo)
    flattenMap:^(Foo *foo) {
        return [foo bar]; // returns a signal
    }]
    map:^(Bar *bar) {
        return bar.name;
    }];
```

I thought that this might be a nice point to discuss mapping by key path. For example:

```objc
[RACObserve(self, otherProperty) mapToValueForKeyPath:@"bar.name"];
```

Unfortunately, `@keypath` can't be used because Objective-C typing.

I can see arguments both for and against this. Figured I'd just throw it up an e-note to see what people thought. A name more indicative of it being stream aware would be good too.

@dannygreg