Remove concept of 'global computation columns'

All the columns now use the BackingMap to store their data instead of
buffering the data themselves. This moves the cpu-memory trade-off so
that the application should now be more efficient, though less
cpu-efficient. The class that can possibly be more adversely impacted
is EvenDistributionBinningColumnDecorator, which now has to read a lot
of entries from the BackingMap.

Columns now support a value transformer that's especially useful for
decorator columns. The global computation columns used to defer
returning data on consumeResultingTableRows() until all the data was
read. With the removal of global computation columns, they now let the
original, undecorated (e.g. number data) values go to the BackingMap
and they defer their transformation until this "value transformer"
is called. This happens when the map returned by
BackingMap.getRowIterable() is iterated on. This could already be
implemented without the addition of this value transformer by changing
the BackingMap on the callback onAllDataSourcesDepleted(). However,
there is little point in replacing values in the BackingMap when we
can just calculate them on the one time they're needed. This new
functionality is used only by EvenSpacedBinningColumnDecorator and
EvenDistributionBinningColumnDecorator. The other decorators still
rely on transforming the data when intercepting the inner Column's
consumeResultingTableRows().