(+) Added IViewModelContainer events for view load states (Loading, Loaded, Unloading, Unloaded). Catel now correctly handles large nested trees which are correctly unloaded and no dummy view models are being created any longer for sub views which are not yet (but about to be) unloaded.
(*) CTL-307 Catel is now aware that a view model is about to be unloaded when the DataContextChanged event occurs (before a view is actually unloaded)
Merge branch 'feature/viewmodelcontainer' into develop
(+) CTL-307 Added IViewModelContainer events for view load states (Loading, Loaded, Unloading, Unloaded). Catel now
    correctly handles large nested trees which are correctly unloaded and no dummy view models are being created any
    longer for sub views which are not yet (but about to be) unloaded. Catel is now aware that a view model is about
    to be unloaded when the DataContextChanged event occurs (before a view is actually unloaded). This is a breaking
    change for users that have implemented a custom base class for views. To fix the issue, implement the required
    events on the views as explained at https://catelproject.atlassian.net/wiki/display/CTL/Using+a+custom+control