Writing shows to disk.

Looks something like this, but needs a lot of checks. But first I need
to fix the fact that when deserializing I don't know which source was
used. Now I can't update a show anymore.