Sequence

The original intent was:

1. Implement `sequence<R: ReducibleType>(reducible: R) -> SequenceOf<R.Element>` so that arbitrary reducibles can easily be iterated using `for`/`in`.
2. Remove `ReducibleOf`’s conformance to `SequenceType`, resolving the ambiguity described in #18.

Then I got sidetracked trying to wrap `ReducerOf` in `ReducibleOf` and finding that this made concatenation reduce out of order. cf #26.

- Fixes #18.
`Stream` wasn’t terminating early correctly.