Refactor `syncer` into mixin for `BaseCollection`, `BaseModel`

This will make it easier to extend the functionality of `BaseModel` and
`BaseCollection`, and to do things like access properties of the `app`
in the various methods.

Also refactored for style a bit.  There was some remnants of the CoffeeScript compiled code.