Fixes Issue 30[complete] and Fixes Issue 11[WIP] - locked clients, client-to-server server-side testing

Watch how you serialize/deserialize diffs.  See `lib/diff.js` and how we use it in places like `client/src/message-handler.js`