fix($compile): don't pass transclude to template of non-transclude directive

If a directive provides a template but is not explicitly requesting transclusion
then the compiler should not pass a transclusion function to the directives
within the template.
fix(ngIf): ensure that the correct (transcluded) scope is used
fix(ngRepeat): ensure that the correct (transcluded) scope is used
style(ngRepeat): jshint was complaining about var names
fix($compile): don't pass transcludes to non-transclude templateUrl directives
fix($compile): set the iteration state before linking

This issue was introduced in b87e5fc0920915991122ba5dac87b619847b3568.
The state for each row has to be set up *before* linking.

The cloneFn (the function passed into $transclude) is called *before* actual linking and thus it is enough to update the state inside the cloneFn callback.
fix($compile): bound transclusion to correct scope

Nested isolated transclude directives.

This improves/fixes the fix in d414b787173643362c0c513a1929d8e715ca340e.

See the changed ng-ifunit test: The template inside ng-if should be bound to the
isolate scope of `iso` directive (resp. its child scope). Not to a child of
the root scope. This shows the issue with ng-if. It’s however problem with
other directives too.

Instead of remembering the scope, we pass around the bound parent transclusion.
test($compile): transcludeFn is available in compile of templateUrl directive
fix(ngAnimate): fix property name that is used to calculate cache key

Fix property name that introduced a bug that occurs when there are 2 animations per page
with similar signature. Due to mistype they were assigned same cache key so second
animation was processed incorrectly

Closes #7566
docs(tutorial): make code samples in step 7 match code in angular-phonecat

Update step_07.ngdoc

Modifying the code snippets provided to match what was on git

Closes #7521
docs($rootScope): fix incorrect docs about how dirty checking is done
chore(shallowCopy): handle arrays and primitives, and switch to using it where possible

In many cases, we want a shallow copy instead of a full copy

Closes #7618
fix(angular.copy): support circular references in the value being copied

Closes #7618
fix(ngClass): support multiple classes in key
style(ngClassSpec): fix indentation to make jscs happy
docs(CONTRIBUTING.md): fixing link to Google Closure I18N library

The old seems to link to the source code of I18N. Found the same folder on their new Github repo.

"Closure Library's source repository has moved to GitHub.", https://code.google.com/p/closure-library/

Closes #7638
docs(ngKeyup): improve example

show implicit `$event` argument
docs(tutorial/step_05): improve explanation of _-prefix
docs(tutorial): add instructions to make experiment render readably in step 5

Update step_05.ngdoc

Closes #7653
docs(tutorial): add karma config update reference to step 11

When including the ng-resource module you appear to need to add a reference to the karma config file
as well or the unit tests will fail. This burned me for a while when going through the tutorial.

Closes #7651