properly cancel a Paginated Results operation in order to avoid protocol errors, fixes #10526
abandon ongoing paged search before starting a new one
abandond paged search only if PHP supports them
init a new paged search on read operations to satisfy OpenLDAP
make scrutinizer happy, very minor changes
Added filesystem hooks for mount/unmount ext storage
Added failing unit tests for mount config hooks
Expose getAppKeys trough \OCP\IConfig
Fix add/remove mountpoint hooks
Add EtagPropagator to handle etag changes when external storages are changed
Hookup the etag propagator
More phpdoc
Added PHP docs for etag propagator
Merge pull request #10527 from owncloud/fix-10526

properly cancel a Paginated Results operation in order to avoid protocol...
Clear enabled apps cache after loading authentication app

Since getEnabledApps() depends on an authentication app to be loaded,
especially in the case of LDAP, the cache from getEnabledApps() is now
cleared to make sure that subsequent calls will properly return apps
that were enabled for groups.
This is because getEnabledApps() uses the inGroups() function from the
group manager provided by LDAP or any other authentication app.
Add support for keys in the info.xml

This allows to have links to different doc base URLs

a.
Merge pull request #11498 from owncloud/detectDomainForDocumentation

Add support for keys in the info.xml
Merge pull request #11495 from owncloud/apps-clearenableappscacheafterloadingauthapp

Clear enabled apps cache after loading authentication app
Merge pull request #11305 from owncloud/ext-updateetagonmount

Update etag of parent dir when adding/removing ext storage mount points