Use a flat byte slice rather than two-dimensional arrays for fact table storage

I'm not quite sure why, but this alone has provided a gigantic
speedup. On c3.xl:

benchmark                                 old ns/op    new ns/op    delta
BenchmarkAggregateQuery                     3890481       659859  -83.04%
BenchmarkFilterQuery                        4845209       857509  -82.30%
BenchmarkGroupByQuery                      11772478      4867227  -58.66%
BenchmarkGroupByWithTimeTransformQuery     12962556      5595112  -56.84%

benchmark                                  old MB/s     new MB/s  speedup
BenchmarkAggregateQuery                     4318.23     25459.98    5.90x
BenchmarkFilterQuery                        3467.34     19591.62    5.65x
BenchmarkGroupByQuery                       1427.06      3451.66    2.42x
BenchmarkGroupByWithTimeTransformQuery      1296.04      3002.62    2.32x
Make it so the row count and column counts aren't compile time constants

Hooray!