Add storage priority support

Each storage backend has a default priority, assigned to any system mounts
created in ownCloud. mount.json can be manually modified to change these
priorities.

The priority order is as follows:
 * Personal
 * User
 * Group
 * Global

Within each mount type, the mount with the highest priority is active.

The storage backend defaults were chosen to be the following:
 * Local - 150
 * Remote storage - 100
 * SMB / CIFS with OC login - 90
Treat 'all users' as 'global'

A mount applicable to all users is as good a definition of global as can be
Preserve priority if already set
Use more strict type comparisons
Use constants for priority type and add comments
Add unit tests
Fix priority merging logic and add unit test
Add priority overriding comments
Use default priority of 100 if backend default is not set
Merge pull request #8163 from Xenopathic/files_external_priority

Priority on external storage mounts