support lzma compression in json archives

it's backwards-compatible, though. compression type is stored as a key
and if not found then uncompressed is assumed. it's written to easily
put in other types of compression if we ever get any in the future