实现依据每一个列的分布情况采用的最佳编码

此类是存储格式最核心的类，在此更新中实现依据每一个列的数值类型以及分布情况（连续重复，重复离散，相邻增量差较小，数值分重复value很少以及随机分布等）选择相应的编码方式。实现过程中采用一个统一的的接口用于压缩编码的实现，需要注意的是在最后写一个page的时候，需要专门方法lastPageRunLengthEncodingInt来对其进行处理，否则会出错。