ENG-5144: Use compression to store fragment plans and schema in the catalog.

This makes uncompressed catalogs use less space in memory. The catch is that the plan cache still loads the uncompressed plans into memory (once per process).

Still, this should be a big win whenever there are briefly multiple catalogs in memory (@UpdateApplicationCatalog). It also is a huge win during compilation of complex catalogs. I saw significant reduction of heap during compilation where the catalog string is kept in memory while it is assembled.