Fix #2671, preferred_serialization_format does not complain about invalid values
This modifies supported_formats to warn when the
preferred_serialization_format setting is invalid (and ignored in
favor of the default value).
I built the tests for this behavior alongside the existing
FormatHandler tests for *valid* preferred_serialization_format values
(and did some restructuring to extract common setup code to before
blocks).
Signed-off-by: Bruce Williams <bruce@codefluency.com>