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.
I believe this is responsible for #26: the `reduce` call here calls out to the received `combine` function, but it’s expecting to be called via `recur`, or something like that anyway..