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
This next section of code has to get split into function calls.  It should be a `switch` statement, with function calls for each of the sections:

```
switch(data.type) {
  case SyncMessage.SOURCE_LIST:
    handleSourceList(...);
    break;
  case SyncMessage.DIFF:
    handleDiff(...);
    break;
  ...
};