Add `gzip` receiver argument to `fileGetOptions`

All the option parsing code is encapsulated in this method to begin
with, so we'll have it do the work for us and return the current `gzip`
value as well. The default for `gzip` is `FALSE`.
Add `file_fdw` method to size decompressed data

This reads the last four bytes of the file, which contain the uncomp-
ressed data size.
Add `EXPLAIN` line showing decompressed data size

Nice to have.
Use uncompressed size for row estimate

After some debugging I've come away thoroughly unimpressed with the
current heuristic for counting rows in the file (my CSV file has over
22,000 rows but the guess is 1,701). At any rate, this will cause comp-
ressed data files to use their uncompressed size during this estimate,
but they will continue to use their on-disk size during the block cost
estimation phase.