Exploding LazySeqs subclasses in different files

And rebasing Lazy, Buffered, Infinite on the same base abstract class
Implementing lazymap for Seq

Finally, using BufferedSeq as the baseline, I have a plausible way
to implement lazy bulk operations on Seqs, using the base abstract
template of BaseLazySeq. It should be possible to add all bulk
operations directly into the base Seq interface and hide the use
of InfiniteSeq and LazySeq for static factories over Iterators and
Suppliers, which should allow to only keep the base abstract class
public.
Adding lfilter for Seq
rspec tests for Seq#lmap and Seq#lfilter
Single setter function for BaseLazySeq
Clean up in LazySeq hierarchy

Iterator and Supplier wrappers are now in Seqs instead of LazySeq.
Furthermore, they instantiate anonymous classes directly from
BaseLazySeq. Therefore both LazySeq and InfiniteSeq are not needed
anymore. BufferedSeq goes away too since the Seq#l* operations work
similarly with anonymous specialization of BaseLazySeq.
LazySeq cleanup part 2

Changed back the name of BaseLazySeq to LazySeq. By default LazySeq is
not synchronized and concrete classes needs to implement advance() in
a side-effect free way. Synchronized specialization is now nested
inside LazySeq.
Adding lazy Seq concatenation (needed for flatmap)
Adding lflatMap (no test yet)