Review: FormatRegistry cleanup

Jeremy Selan <jeremy...@...>

This adds a bit more infrastructure behind the internal FormatRegistry. This checkin fixes the make test error in Baker.cpp, so format ordering is longer at the mercy of the static registration order. This also allows clients (such as ociobakelut) to report supported lut formats for both reading and writing.

There's some code cleanup related to Formats too. FileFormats only need to implement the Write function if they want to support writing. Otherwise, they can leave the implementation blank.

This checkin maintains both binary and sourceĀ compatibility.

-- Jeremy