GzipSource beginnings.

Needs a followup with tests for weird GZIP cases:
headers with names, comments, extra fields, header CRCs
CRCs, and corrupt versions of those things.
WIP