Fix setting the max-upload-size for really large values.

php can only parse filesize units up to gigabytes, not terabytes or petabytes.
Send URI instead of filepath to NGINX for X-Accel
Add unit tests for OC_Helper::phpFileSize function
be nice and use a relative import so people can use the class without firing up owncloud
Fix PHPdoc in apps/files_sharing

using scrutinizer patch
Fix PHPdoc in OC\Share\Share and OCP\Share
Fix linkToPublic. Refs #8218
Also fix linkToAbsolute
Add tests for linkTo, linkToPublic, linkToRemote, linkToRemoteBase
Remove unused var
Permit personal mount points to be used for sharing

An issue existed where `readData` used `OCP\User::getUser()` to get the user
for personal mount points, which worked in all situations apart from when a
personal mount point was used for sharing, so the return from `getUser()` is
not the user that owns the share. As such, any personal mount points would not
work correctly when shared.

`readData` and `writeData` have been changed from using a `$isPersonal`
boolean to using a `$user` string|null. `$isPersonal = false` can now be
written as `$user = NULL` (or left out in the case of `readData`), and
`$isPersonal = true` can be written as `$user = OCP\User::getUser()`.
Better handle return values from Filesystem::getMountBy*

getMountByStorageId and getMountByNumericId return an empty array on error,
which should be detected to avoid possible errors. This commit also adds in
some new logging points and throws to aid debugging
fixes #8376
rewind iterator before iteration starts
Group Database backend must not gather user details itself but ask user
backends. This is a port to master from PR #7745

remove OC_GROUP_BACKEND_GET_DISPLAYNAME option for group backends

Conflicts:
	lib/private/group/backend.php

LDAP: getDisplayNamesInGroup is not an option for group backends anymore

Conflicts:
	apps/user_ldap/group_ldap.php
	apps/user_ldap/group_proxy.php

clean up group backends

Conflicts:
	lib/private/group/database.php

remove now unnecessary test

implement getDisplayNames in group manager

adjust user manager tests

test for group manager's displayNamesInGroup

trim must not be used in empty in PHP < 5.5

keep the constant to not provoke PHP warnings

Conflicts:
	lib/private/group/backend.php
fix shouldEncrypt() method and improved decryptAll() unit tests
Merge branch 'master' into type-hinting-sharing

Conflicts:
	apps/files_sharing/lib/share/file.php
	apps/files_sharing/tests/api.php
	lib/private/share/share.php
the group manager calls exists check less often, adjust test accordingly
refs #8376; added comment and applied patch on other files
refs #8376; spaces=>tabs