feat(notIsolated): implements the notIsolated variant of directives with a child scope. When declaring a directive definition object with a truthy notIsolated field, then whatever scope attributes the directive declares will be bound against not an isolated child scope, but a normal child scope. This is a necessary feature if Angular is to support directives that transclude into the trascluded content of other transcluded directives, each of which may have bound directive scope attributes. Without this change, then for high level directive with bound scope attributes whose template includes another slightly low level directive that transcludes its content, and the high level directive transcludes its content into the transcluded content of the low level directive in its template, there's no way for the high level directive's transcluded content to have access to its scope as its scope will be a child of the isolate scope of the high level directive that transcludes into the transcluded content of the low level directive, which may or may not have isolate or notIsolated scope attributes. With this change, developers will be able to more richly develop hierarchies of transcluding directives that use other transcluding directives in their templates. It's a new feature that should be used sparingly as the transcluded contents of such a high level directive that doesn't isolate its scope will be able to modify values on that directive's scope. However, it's certainly one avenue of making Angular easily capable of truly high level encapsulation.