add before:destroy event to controller
Merge pull request #1367 from ahumphreys87/v2beforeDestroyController

V2before destroy controller
Abstract html insertion into a private helper.

This brings the implementation of `ItemView` and `CompositeView`
more inline with the methods that are present in `CollectionView`,
such as `_insertAfter`, `_insertBefore`, and `attachBuffer`.

This also has the added benifit of allowing people to render
things in non standard ways, or to use a different rendering engine
without having to really "hack" into the render cycle.

Your might wonder why there are no docs for this method tho, and that
is a fair question. The rational behind it is that by leaving it private
it is implied that this is something you should not override (unless you
have a specific need).

Fixes #1374