Flesh out `Subscription` model methods

Added `select`, `update`, and `delete` methods to `Subscription` to handle all
CRUD operations.

Changed the signatures on `from_attachment`, `from_changeset`, and
`from_comment` to let the `user`, `role`, and `notify` values be overridden.

Added `for_attachment` and `for_changeset` methods to shortcut queries for
those resource types.

Added `attachment_deleted`, `attachment_reparented`, and `changeset_modified`
event handlers.