fix BadRequest error if CONTENT_LENGTH not set

If client does not send content length header on webdav upload (e.g. because the content comes from a stream and its length is not predictable) the put() method should not try to compare the content length value with the actually amount of received data, because this will always fail and results in a BadRequest exception. So the check will only be performed if $_SERVER['CONTENT_LENGTH'] is set.
Merge pull request #10862 from chli1/master

fix BadRequest error if CONTENT_LENGTH not set
Use bigger transactions when doing explicit file system scans