Address U. F. O. shortcomings.

This attempts to address a number of issues mentioned in #1653, specifically the dropping of version data, the changing of glif names, and the reversal of reference and anchor orders. It also enables layered U. F. O. output in certain limited contexts outside of the specification.

Why do we have conditions for these arguments and not the others, is it that those in particular are optional?