Fix merging of external storage configurations

Merging of configurations is whenever the same config is available for
multiple users/groups, in which case the config is considered as a
single one by the UI, and shows multiple users/groups selected.

Fixed merging logic to make sure that class, mount point and options are
the same before merging them.

Fixed merging to work correctly when the same mount point path is used
for separate users and configs. These are now correctly shows in the UI
as separate entries.

Backport of e002b72 from master
Hack to avoid Agent DN + Password being overwritten by some ugly browsers with stored site credentials
update keys recursively if a folder was moved
check that the file proxies are enabled after each test
make sure that we don't connect hooks multiple times
login() must be called after getServerPublicHostKey().
Merge pull request #9717 from owncloud/backport_9668

[encryption] update keys recursively if a folder was moved (oc6 backport)
Merge pull request #9109 from owncloud/stable6-extstorage-multiplemountpointconfig

[6.0.5] Fix merging of external storage configurations
Deduplicate user/password extraction from alternative HTTP headers.
Extract Auth Header logic into new function handleAuthHeaders().

Conflicts:
	lib/base.php
Remove uneeded `strip_tags`

This `strip_tags` seems to be completely unneeded and will cause problems with passwords containing stripped characters. (e.g. `<` or `>`)

Needs https://github.com/owncloud/core/pull/9735 to be merged first.
Merge pull request #9776 from owncloud/backport-9738-stable6

Backport 9738 stable6
Merge pull request #9575 from owncloud/fix-7038

Hack to avoid Agent DN + Password being overwritten by some ugly browser...
Fix template rendering for 'blank' templates
don't preload videos on public sharing, fixes #10042
Add unit test for multi-user configuration loading