Revert "Byte based, too fine grained."

This reverts commit 66050d6588e515073791a5a421d7c64d2665ec16.
Cache calls to isSelected and some inlining.
Some cleanup.
Enable cpu profiling via parameter.
TODO note.
Drops unused leftovers.
Playing with cat parameters.
Keep a buffer that's a mulitple of the bufferd input.
Move byte loop into separate function.
Increase default word slice capacity to 30.
Loop version for character mode; also write out outputDelimiter when given
Adds loop version for field mode; defaults to csv mode;
Drops unused bits.