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.
Dont return cached date in shared cache when the file doesn't exist
Use httphelper and cache response even when it empty
Test OC\Updater::check
Fix tests. Add two more test cases
Add dropTable to IDBConnection
Add tableExists to public db api
add unit tests for tableExists and dropTable
Quote identifiers for oracle
Merge pull request #12695 from owncloud/db-drop-table

Add dropTable to IDBConnection
Inject config
Remove leftover
Merge pull request #12664 from owncloud/fix-12164

Use httphelper and cache response even when it is empty
[tx-robot] updated from transifex
Merge pull request #12549 from owncloud/shared-cache-non-existing

Dont return cached date in shared cache when the file doesn't exist
Merge pull request #12090 from AdamWill/google-rename-delete

google: delete original after successful rename
Drop the readonly cache and wrapper in favour of the generic permissions mask wrappers
Replace the shared storage with the jail and permissions mask wrappers
Extract shared mount setup code to its own class
Use the post_initMountPoints hook instead of the setup hook