fix(ngSwitch): use the correct transclusion scope

If an ngSwitchWhen or ngSwitchDefault directive is on an element that also
contains a transclusion directive (such as ngRepeat) the new scope should
be the one provided by the bound transclusion function.

Previously we were incorrectly creating a simple child of the main ngSwitch
scope.

Closes #8235
fix(ngSwitch): interoperate with multi-element transclude directives

Closes #8235
Closes #8244