Fix #283 - Refactor rsync to only use absolute paths

It might be more clear to document in `ChecksumNode` what an empty array indicates, i..e., you could do:

```
function ChecksumNode(path, checksum, contents) {
  ...
  // We use an empty array in the case that ...
  this.checksum = checksum || []; 
 ...
}
```