Teardown component instance when unrendered so viewmodel.teardown gets called

Fixes #1190.

@ractivejs/team-ractive Looks like we should add `teardown` as proper method to virtualdom fragment and items. I think the root of the issue is that sections don't really render and unrender fragments, they create and destroy (teardown) fragments. So, we end up trying to track "real" teardowns via setting `shouldDestroy = true`. 

Not for today, but wanted to leave a note...