Simplify sync machine.

1. Rename `machine.synced` etc methods to `machine.whenSynced`. This describes what methods do better.
2. State change event will no longer receive “this” as second arg. Not sure why this was needed.
3. `synced`, `unsynced`, `syncing`, `unsynced` will no longer receive “this” and current event name as args. Current event name in this case is superfluous.

@molily thoughts?