Add `-[RACStream distinctWithPredicate:]`

We wanted to filter out NSValues containing duplicate structs, so `-distinctUntilChanged` wasn't sufficient for us.