BColz depends on split

This has a couple serious effects:

1.  It exercises `expr.split` much more heavily.  In particular it is now run through the comprehensive test suite.  Lots of small issues were exposed and cleaned.
2.  It provides opportunities for parallel mapping.

User interface remains untouched.