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.

They needed to be optional since I didn't want to put a handler for them in every file format driver.