Add ultra-slim hack for incognito mode

As discussed at https://github.com/owncloud/core/pull/12912#issuecomment-67391155
Only populate tags in main file list

Moved populateTags to be done on the main file list.
This prevents the public file list to go through the same code and cause
an error when there is no user.
Fix issues with searchByTag in shared storage
HHVM: In APC cache clear, only request the cache key in APCIterator.

The default value of the $format parameter of the APCIterator constructur is
APC_ITER_ALL which instructs the iterator to provide all available information
on cache values being iterated over. Only the key value is necessary for
matching and deletion via apc_delete(), though.

This prevents a "Format values FILENAME, DEVICE, INODE, MD5, NUM_HITS, MTIME,
CTIME, DTIME, ATIME, REFCOUNT not supported yet." notice on HHVM.
introduce names for user backends - IUserBackend

* LDAP with multiple servers also proved backendName
Merge pull request #12954 from owncloud/hhvm-apc-clear

HHVM: In APC cache clear, only request the cache key in APCIterator.
Also add secret
Merge pull request #12935 from owncloud/public-tagsmanagerissue

Only populate tags in main file list
Merge pull request #12956 from owncloud/jenkins-user-backend-names

[jenkins only] introduce names for user backends - IUserBackend
Clarify return values

This function returns `null` when no user is logged-in.
Fix typo
Merge pull request #12923 from owncloud/ultra-slim-version-of-incognito-mode

Add ultra-slim hack for incognito mode
Next step in server-to-server sharing next generation, see #12285

Beside some small improvements and bug fixes this will probably the final state for OC8.

To test this you need to set up two ownCloud instances. Let's say:

URL: myPC/firstOwnCloud user: user1
URL: myPC/secondOwnCloud user: user2
Now user1 can share a file with user2 by entering the username and the URL to the second ownCloud to the share-drop-down, in this case "user2@myPC/secondOwnCloud".

The next time user2 login he will get a notification that he received a server-to-server share with the option to accept/decline it. If he accept it the share will be mounted. In both cases a event will be send back to user1 and add a notification to the activity stream that the share was accepted/declined.

If user1 decides to unshare the file again from user2 the share will automatically be removed from the second ownCloud server and user2 will see a notification in his activity stream that user1@myPC/firstOwnCloud has unshared the file/folder from him.
Link to HTTPS page

Those domains are now accessible via HTTPS
cache keys to read them only once from the hard disc
change Documents default typeface from serif to sans-serif
Split mapping from Access and Helper classes into it's own. Fully test them, too.

remove unused methods

split mapping methods off from Access class

fix DB query handling

move 'clear mapping' methods from static helper to new mapping class

add tests

test directly with DB

finishing tests and fix return value from setDNbyUUID

add corresponding class for groups and make abstract test class neutral. helper tests is now obsolete as the tested functions were moved to the new mapper class.

add missing info to PHPDoc

add unmap method

fix namespaces

fix test inheritance

PHPDoc and a small code restructure for scrutinizer, no effective changes

PostgreSQL does not accept LIMIT in DELETE queries

phpdoc fixes, no code changes
Merge pull request #12101 from owncloud/ldap_split_mapping

Ldap split mapping from Access superclass
Merge pull request #12749 from owncloud/server2server-sharing-ng

server to server sharing next generation
Fix Undefined variable: result at tags.php#231

Fix app":"PHP","message":"Undefined variable: result at \/var\/www\/owncloud\/lib\/private\/tags.php#231" by moving the function call into the respective loop

Adjust indentation

Do it right - indentation

sorry, this is my first one