Adds onAttach event.

Mmk, this is ready for review.

- Works properly for infinitely nested LayoutViews
- Also works on collectionViews
- Documented
- Backwards compatible

This adds `onAttach`. Ref #1856 for more about why this event is important.

====

To do: It adds three new public methods that need documentation

- triggerAttach (view). This should prob. just be private
- getNestedViews (layoutView)
- isNodeAttached

I'll do this once I get thumbs on the implementation.
we will also want a before: to be consistent right?