updated options with helper funcs, fifo compaction

Considering splitting options up into ColumnFamilyOptions and DBOptions instead of behavior/performance. any feelings? Under the hood with column families it's going to be splitting normal options up into those two kinds and it's a bit ambiguous at the moment.