docs(ngController): add more description of `controller as` syntax

Using `controller as` in the template is not described well
in the docs, as both `scope` injection and `this` are presented
equally without too much discussion of the advantages of using
either. I added a bit more discussion based on google's internal
style guidelines.

Closes #7591
Closes #5076 (until Angular 2.0 comes out and we refactor everything)
docs(ngController): add formatting to `controller as` description and example

Adds to #7591
docs(tutorial/step-12): fix typo

Closes #7596
docs($http): use HTTPS URLs in JSONP example
docs(ngClick): improve style
docs($rootScope): fix incorrect docs and make them clearer

During the first $digest loop after registering a $watch
the listener always run, so the example was incorrect

Closes #7598
docs(ngClick): improve style
style(ngTouch): make lint happy
style($compileSpec): fix typos
fix($compile): pass transcludeFn down to nested transclude directives

If you have two directives that both expect to receive transcluded content
the outer directive works but the inner directive never receives a
transclusion function. This only failed if the first transclude directive
was not the first directive found in compilation.

Handles the regression identified in e994259739821094e77a3d2c1f30c28713b7ab3a

Fixes #7240
Closes #7387
refactor($compile): change parameter name

The boundTransclusionFn that is passed in is really the one from the
parent node.  The change to parentBoundTranscludeFn clarifies this compared
to the childBoundTranscludeFn.
fix($compile): fix nested isolated transclude directives

Closes #1809
Closes #7499
refactor($compile): no need to use bind
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.