Support for uploading yum metadata files

I did a pretty big refactor of the upload module in the yum importer to make a more clear distinction between what steps are performed depending on the type of unit being uploaded. There are quite a few types supported and it was getting tricky to read. As such there were pretty significant changes to the unit tests as well, but nothing crazy.