Make IO and ColumnObserver interfaces generic
Rename *IO -> *BitmapIO.

This gets me ready for non-bitmap impls.
Include column as a generic type in the IO interface.
Split Lookup into two interfaces: DataLookup and KeyLookup.
IOJack does same thing as MemoryJack, but can be linked to databases.

IOJack replaces MemoryJack in TestIndexing.

Experiemental BatchIO interface as a way to do batching out (writing to DB) when the time comes.
MemoryJack -> PureMemoryJack
Deprecate PureMemoryJack.
rename the shakespeare column families to make things very obvious.
Get rid of composite key in PureMemoryJack. todo: replace with guava table.
instrumentation
optimization: remove duplicates from trigram iteration.

This pays big dividends during indexing when 1) lines are long, or 2) Trigram.N is relatively low (3).
CassandraBitmapIO bulk get.

This isn't part of the IO interface.
use bulk reads for IO improvement.