Switch to @listenTo event binding where possible

In all apps, switch to backbone.js's @listenTo syntax for binding events
in favor of custom ".on" in initialize and ".off" in @remove.  That
allows us to do away with the @remove method in most cases, and ensures
that we don't leak bindings.

Also fix bug in resolve where non-authenticated users contributing an
opinion to a group-owned (but edit-permissable) proposal caused a crash.