WIP: Add server side web socket interface for server->client sync

Update rsync to working code
Add methods to use web sockets to communicate with client to perform a sync
Lines like this, that are getting really long, can be shortened by not using expressions as arguments--you can use variables.  `Path.join(path, entry.path)` is a great example--that could be a variable you declare on the line above.  Please don't call the value returned from a callback `stuff`.  Use `result` if there is no better name.