Refactored CompressionScheme, added 3 more compression schemes.

New schemes: BooleanBitSet, IntDelta and LongDelta
Added test suite for BooleanBitSet, refactored other test suites
Added test suite for IntegralDelta (IntDelta & LongDelta)
Fixed SPARK-1436: in-memory column byte buffer must be able to be accessed multiple times

Forgot to duplicate the in-memory column byte buffer when creating new ColumnAccessor's, so that when the column byte buffer is accessed multiple times, the position is not reset to 0.
Merge branch 'pr/330' into inMemTests