Use lists in the match schedule

Store the teams in a match as a list of team names, rather than a
space-separated string of team names.
Respond to HTTP requests in JSON

Some HTTP endpoints were responding in YAML.  JSON is considerably
easier to deal with from a web-browser perspective (which is where
these endpoints will be used).