DM-419

Forgot I could now create GitHub PRs for reviews.  Here it is; hope it's helpful.
> Note that my on-the-fly solution would allow old and new versions of the code to both read the files.

True, and that'd definitely be desirable.  It'd be difficult to implement at the Butler level, though, in the sense that all the Butler does with these things is pass a filename to the afw FITS-reading code.  We'd either need to read it in and then write it back out to a temporary file using low-level FITS manipulations (using e.g. PyFITS), before passing it to afw, or read it into an old-style afw::table object in memory before doing the mapping to a new-style afw::table object (in which case we'd need at least some of this version code to support that temporary).