webdav: sharepoint recursion with different depth - fixes #2426
webdav: sharepoint recursion with different depth - fixes #2426

this change adds the depth parameter to listAll and readMetaDataForPath.
this allows recursive calls of these methods with a different depth
header.

Sharepoint won't list files if the depth header is != 0. If that is the
case, it will just return a error 404 although the file exists.
Since it is not possible to determine if a path should be a file or a
directory, rclone has to make a request with depth = 1 first. On success
we are sure that the path is a directory and the listing will work.
If this request returns error 404, the path either doesn't exist or it
is a file.

To be sure, we can try again with depth set to 0. If it still fails, the
path really doesn't exist, else we found our file.

olihey/rclone,olihey/rclone,B4dM4n/rclone,B4dM4n/rclone,olihey/rclone,ncw/rclone,B4dM4n/rclone,B4dM4n/rclone,ncw/rclone,ncw/rclone,olihey/rclone,ncw/rclone