Initial groundwork for a masterlist schema file.

Using Kwalify. However, Kwalify is missing an important feature needed
by LOOT: to be able to specify that a value can be of either one type or
another. Kwalify can currently only deal with a value having either one
specific type or `any` type.
Related feature requests:
- https://sourceforge.net/p/kwalify/feature-requests/9/
- https://sourceforge.net/p/kwalify/feature-requests/10/

Will see how far I can take it, or else switch to Rx.

Part of issue #18.
Finish Kwalify schema definition for the masterlist format.

As mentioned in the last commit, Kwalify doesn't support a value to by
either one thing (e.g. a string) or another thing (e.g., a mapping),
which means that for those items that can be either a string or a
sequence of mappings, I have now settled for just using `type: any`.
Even though this does decrease the effectiveness at catching issues with
the masterlists, the schema as it is is still far more in-depth than
simply checking for YAML validity.

Speaking of, this file is valid YAML, but `pkwalify` doesn't seem to
like it. I haven't tested with the Ruby `kwalify` yet.

Part of issue #18.
Tweak masterlist.schema.yaml based on testing.

I was mapping the `msg` a bit too much for `globals`, and it turns out
that YAML automatically parses hexadecimal into integers.

Part of issue #18.
Redefine masterlist.schema.yaml's `msg` node anchor.

Now `*msg` will also include the sequence of `msg`s and not just the
individual `msg` data.

Part of issue #18.