Add soft-deleting and soft-deleted events

As soft deleting models don't actually delete anything you have no way to hook into the removal process unless you hook into `updating` and check that `deleted_at` is being updated which is inconvenient and not really clean. This adds a dedicated event for the soft removal of a model.

I'm not sure about the convention for two-words events though, should that event be `soft-deleting` or `softDeleting` ?