Improve FileActions JS to allow for custom rendering

This improves the OCA.Files.FileActions class to support passing a
"render" function in the action object.

The default function "_defaultRenderFunction" is used by default and
renders actions in the usual actions container.

Moved "Rename" and "Delete" to custom render functions.
google: delete original after successful rename

In GDrive, filenames aren't unique, and directories are just
special files - so you can have multiple files with the same
name, multiple directories with the same name, and even files
with the same names as directories.

OC doesn't handle this at all, though, and just wants to act
as if file and directory names *are* unique. So when renaming,
we must check if there's an existing object with the same
file or directory name before we commit the rename, and
explicitly delete it if the rename is successful. (Other
providers like dropbox do the same for files, but intentionally
don't do it for directories; we really need to do it for
directories too.)

A good way to observe this is to run the storage unit tests
and look at the state of the Drive afterwards. Without this
commit, there will be several copies of all the test files
and directories. After this commit, there's just one of each.

We can't just say "hey, Drive lets us do this, what's the
problem?" because we don't handle multiple-objects, same-name
cases - getDriveFile() just bails and prints an error if it
searches for the file or directory with a given name and gets
multiple results.
Simple Plugin system for Javascript
Dont return cached date in shared cache when the file doesn't exist
Log exceptions in DAV storage

In some cases a "NotFound" might be expected, so just return false as
before. But for other exceptions, the exception is now logged.
Use UID instead of login name

Login name can be something different and thus I'm pretty sure this will break in combination with external auth providers such as LDAP.
OCS API for server-to-server sharing
remove triggerupdate, ref #11872
add quiet option, ref #8794
Add right margin to codestyle file

Defaults to 120, we want 80 apparently
Add public api for mount configurations
Use the mount config api for files_external
Remove obsoleted filelist prototype backup in tests
Add requesttoken to base template

Potentially fixes https://github.com/owncloud/core/issues/12580
Fix permissions
Check for working .htaccess via AJAX

Fixes https://github.com/owncloud/core/issues/12650
Use httphelper and cache response even when it empty
Test OC\Updater::check
Add unit test for contactsmanager
Use PHPUnit mocks