Split adding resources and adding tags into two phases
Otherwise tags might specify a resource that has not been added yet. It's still a problem that we try to identify a resource by just the filename and the storage, breaking cross-storage resource-tag relations.
This means that on restoring tags to the database, all resources of a given type with the same filename will be tagged if the tag file specifies that filename.
This is still draft, because while the database is now correctly constructed, the tag model still doesn't show the tags the user added -- I'm working on that. But since I'll be off for a week, I wanted to already create an MR.
Edited by Halla Rempt