Refine storage model further and add mirror locations automatically

Merged username-removed-26331 requested to merge storage-mirrors into master

There is an abstract storage class now and each storage is responsible for returning it's name and URL.

The UI lets you add multiple storage locations and uses nice buttons.