DebugInfo: Support for compressed debug info sections
- When creating a .debug_* section and instead create a .zdebug_ section.
- When creating a fragment in a .zdebug_* section, make it a compressed fragment.
- When computing the size of a compressed section, compress the data and use the size of the compressed data.
- Emit the compressed bytes.
Also, check that only if a section has a compressed fragment, then that
is the only fragment in the section.
Assert-fail if the fragment's data is modified after it is compressed.
Initial review on llvm-commits by Eric Christopher and Rafael Espindola.