docs(guide/understanding_controller): correct grammar

Add the word "to" to improve grammar.

Closes #4698
docs(CONTRIBUTING.md): add more info for contributors

Closes #4636
docs(api): improve grammar

Closes #4690
docs(guide/e2e-testing): fix typo

Closes #4700
docs($route): change example module name

The name of the example module is `ngView`, which might cause needless confusion.
Changed name to `ngViewExample`, which should make it clearer.

Closes #4702
docs(tutorial): add instructions to install karma plugins
docs($route): split over-length line
docs(guide/injecting-services): fix indentation in example

Closes #4714
docs(api): fix broken links

Closes #4705
docs(api): fix broken links
fix(ngIf): ngIf removes elements dynamically added to it

When using ngIf with ngInclude on the same element, ngIf previously did not remove
elements added by ngInclude. Similarly, when using ngIfStart/End, ngIf will miss
elements added between the start/end markers added after ngIf is linked.

This commit changes the behavior of ngIf to add a comment node at the end of its
elements such that elements between the starting comment and this ending comment
are removed when ngIf's predicate does not hold.
chore: move getBlockElements to Angular.js
chore($compile): remove special case for ngIf and ngRepeat