New CompressionOptions class now used in place of CompressionStrategy and encapsulates it

Removed "extract" property on GetSave- methods, as GetSave- should be for writing to a BSA and GetContents should be for the data block itself

CompressionOptions has extension-level control of compression options within BSAFiles

BSAFiles should now properly handle saving in a forced compression state even if they are updated after creation