Clean up WebDAV connector and add permissions and id properties

Resolves #3602 and #3593 

I changed the properties table to store properties based on file id so we don't lose any properties across sharing or external storage. I'm planning on doing the same for locks. From my understanding these are just temporary properties stored by some WebDAV clients. So it shouldn't be necessary to write an update script for it, correct?

@dragotin @danimo The CRUDS permissions are revealed through:
* Create -> {DAV:}bind
* Read -> {DAV:}read
* Update -> {DAV:}write-content
* Delete -> {DAV:}unbind
* Share -> {http://owncloud.org/ns}share

And the fileid -> {http://owncloud.org/ns}id

@karlitschek @DeepDiver1975 @icewind1991