Factor progress seq functions into their own namespace
Automatically choose a progress seq based on the input seq

If the input seq implements clojure.lang.Counted, use a bounded seq.
If not, use an unbounded seq.

We'll want to extend this to other java types eventually, but this
gives the right framework.
Update documentation for auto-progress seq selection
Fix protocol issue

There's no prefer system for protocols, so switch base implementation
to Object rather than another interface. Things get freaky with
protocols and interfaces...