make it possible to update shipped apps via the appstore
Merge branch 'master' into update_shipped_apps_from_appstore

Conflicts:
	lib/private/app.php
	lib/private/installer.php
add button for properly uninstalling apps
Merge branch 'master' into update_shipped_apps_from_appstore
read ocsid from shipped apps on install
various fixes as requested by pr reviewers
use isset() instead of array_key_exists()
remove console.log in apps.js
update autoloader
Fixed quota wrapper to return the value from flock()
add unit test
remove not needed unlink in installer test
Work with MySQL Sockets

This passes anything that is not a valid port (0<int<65535) as a unix socket.
I tested this with unix sockets; this needs to be tested with a non-standard mysql port as well but I don't foresee any issues.

To use a unix socket, even one different than PHP's mysql.default_socket..
* Database Host = localhost:/path/to/socket
Fix variable not always being defined.
Don't update the mtime if the storage mtime hasn't changed
table files_trashsizes was still used in some locations -> removed
fix size and unbold empty content message
Fix uit tests
Remove legacy routing code

The getfile routing code was absolutely legacy and not needed anymore. Additionally \OC::$REQUESTEDAPP was never set to the actually accessed application.

This commit removes the legacy routing code and ensures that $REQUESTEDAPP is always set so that other applications (e.g. the firewall or a two-factor authentication) can intercept the currently accessed app.

Testplan:
[x] Installation works
[x] Login with DB works
[x] Logout works
[x] Login with alternate backend works (tested with user_webdavauth)
[x] Other apps are accessible
[x] Redirect on login works (e.g. index.php?redirect_url=%2Fcore%2Findex.php%2Fsettings%2Fapps%3Finstalled)
[x] Personal settings are accessible
[x] Admin settings are accessible
[x] Sharing files works
[x] DAV works
[x] OC::$REQUESTEDAPP contains the requested application and can be intercepted by other applications
Move authentication to it's own call