Do not use before_destroy and friends

We never check whether a `#destroy` fails in our controllers:

    def destroy
      article = Article.find(params[:id])
      article.destroy
      redirect_to articles_url
    end

Because of this history, it would cause confusion and potential bugs if
we introduced a `before_destroy` into any of our models. Not only will
we need to check the result of `#destroy` for any controller using that
model, but we'd also need to check the return value for any controller
using models that associate with that model.

This commit clearly states our stance on this: we do not expect a
`#destroy` to fail in a recoverable manner.
This isn't a preference; either you raise an exception, or you intentionally disregard this guideline. "Prefer" doesn't make sense here.