[util] Make hb-shape err if output-format is not understood

And list supported formats.
diff --git a/util/hb-shape.cc b/util/hb-shape.cc
index ef926da..ca94152 100644
--- a/util/hb-shape.cc
+++ b/util/hb-shape.cc
@@ -45,6 +45,12 @@
       output_format = HB_BUFFER_SERIALIZE_FORMAT_TEXT;
     else
       output_format = hb_buffer_serialize_format_from_string (options.output_format, -1);
+    if (!hb_buffer_serialize_format_to_string (output_format))
+    {
+      fail (false, "Unknown output format `%s'; supported formats are: %s",
+	    options.output_format,
+	    g_strjoinv (" / ", (gchar**) hb_buffer_serialize_list_formats ()));
+    }
 
     unsigned int flags = HB_BUFFER_SERIALIZE_FLAGS_DEFAULT;
     if (!format.show_glyph_names)