Refactor wip
Factor out some client/server common state ops
Sync complete state on checksum failure
Reset state from history

- fails if server changes are made while client is disconnected
Possibly fully working differential sync
Better - uses tx-listen
Minor refactor
Try breaking apart sync algorithm
Make sync tests more explicit
Rename sync -> diff
Refactor - wip
Mid-changes: organize state changes
Separate state handle, sync algorithm
Move sync code to shared
Move message to shared
Remove cljx hooks
wip