Make the group by column a uint16

We group using integer columns, not floats.
Use slices to hold group by values for uint8 and uint16 types

This is intended to be much faster than maps.

uint8 and uint16 are special-cased because those types can naturally and
efficient be mapped to array indices. An easier-to-understand approach
will be to better formalize dimension types, and potentially enforce
that they're uint16 or less, so we can always use a vector for grouping
operations.

Here are the benchmarks on a C3. For some reason they don't reveal the
real world impact of this, which is a 2x+ speedup.

ubuntu@gumshoedb1-us-east:/mnt/go/philgumshoedb$ benchcmp old.txt new.txt
benchmark                                 old ns/op    new ns/op    delta
BenchmarkAggregateQuery                     1061472      1159848   +9.27%
BenchmarkFilterQuery                        1705123      1611475   -5.49%
BenchmarkGroupByQuery                       5301220      4709373  -11.16%
BenchmarkGroupByWithTimeTransformQuery      5723536      6143210   +7.33%

benchmark                                  old MB/s     new MB/s  speedup
BenchmarkAggregateQuery                    15827.07     14484.65    0.92x
BenchmarkFilterQuery                        9852.66     10425.23    1.06x
BenchmarkGroupByQuery                       3169.08      3567.35    1.13x
BenchmarkGroupByWithTimeTransformQuery      2935.25      2734.73    0.93x
Use ok-comma