Fix RangeCollection#length and #physical_size for empty collections.
Revise interface to range collections.

Rather than explicitly declaring the column we want to be represented as a
range, instead decide dynamically using a heuristic. Right now the heuristic is
braindead (using the first inserted tuple, pick the first column that looks like
an integer, scanning left-to-right), but can easily be improved.
Add :range_stats debugging option.
Enable range compression for RCE.

Along the way, add a unit test for this functionality, and fix some bugs in the
implementation of range collections.