Generate stable etags for local files

Generate etag for local files based on mtime, inode, device number and other information returned by `stat`

prevents the sync client from having to re-download files in case of cache inconsitencies.

cc @DeepDiver1975 @PVince81
inode number will always be 0 when running Windows as per http://php.net/manual/en/function.stat.php - maybe we should append the filename to the hash as well?