Modified constructor to test exists rather then defined allowing
features to be disabled in the constructor.
Modified deserialize to check if values are true, not just defined
to enable features also fixed a bug in deserialize for tokenless
deserializations where compressor was checked instead of
compress to determine if the data needed to be decompressed
Cleaned up a couple bugs that prevented it from compiling when
autosplit was disabledThanks to John Alden john.alden@bbc.co.uk for detailed bug reports,
and excellent recommendations.