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.
Maybe "Prefer to raise an exception from `ActiveModel` callbacks instead of returning `false`"? "Prefer" is one of the words that we define in the README, so it has weight:

> "Prefer" indicates a better option and its alternative to watch out for.