Fix code layout before fixing the function
Use md5() of the original name instead of uniqid() for slugifying

Previously we used uniqid() here.
However this means that the behaviour is not reproducable, so
when uploading files into a "empty" folder, the folders name is
different.

If there would be a md5() hash collition, the deduplicate check
will spot this and append an index later, so this should not be
a problem.

Fix #6722
Fix mapping of relative paths
Merge pull request #12288 from owncloud/backport-mapper-fixes

Backport mapper fixes