convert filter/unique to lastN/repeatSame

In order to pass vector clock information down the repeater stream, all
repeaters must act like `map`. In order to simplify testing for unique values,
`repeatSame` will repeat the exact value received when `_.isEqual`, underscore's
deep equality tester, returns true. Dependent repeaters can use `===` to test
for equality with previous values instead of the more expensive equality
function.