Technically union is more apt here, because the object will have an
associated schema, it's just unclear what the type for that schema
should be. For instance, does tvdb own the schema under their own
domain? or is it more apt for my.spoor to control it? Going forward I
will use an appropriate tld from the owner of the schema. This should
allow adoption from external providers later if lexicon does take off.
Removed the source field, and made queryable be a union where the type
will reveal how to query, and the data to query will be contained
within. (This is much smarter)...
Changed overrides to be a simple empty object (which should be fine in
the spec). This reflects what it should actually be.
Finally explicitly added the tvdb api v4 option.