Rewrite YamlImporter and YamlReimporter

Split out, in a new YamlLoader module, all format-specific code to make
YamlImporter and YamlReimporter completely format-agnostic. Define a
clear interface for Loaders (get_contest, get_user and get_task) to be
able to plug the Importer and Reimporter into any other compatible
Loader by just changing one line of code.

Also, try to make YamlReimporter require as few knowledge of the data
model graph as possible, by inferring some information at runtime (by
using _col_props and by guessing the kind of relationship by their
type). This should make it more generic and able to easily cope with
further changes in the data model.
Remove all specialized export_to_dict and import_from_dict methods

They were now completely unused.