fix($injector): allow a constructor function to return a function

This change makes `$injector.instantiate` (and thus `$provide.service`) to behave the same as native
`new` operator.
chore(docs): generate header ids for better linking

- generate ids for all headers
- collect defined anchors
- check broken links (even if the page exists, but the anchor/id does not)
docs: correct broken links

This also contains some whitespace corrections by my editor.
fix(csp): fix csp auto-detection and stylesheet injection

When we refactored , we broke the csp mode because the previous implementation
relied on the fact that it was ok to lazy initialize the .csp property, this
is not the case any more.

Besides, we need to know about csp mode during bootstrap and avoid injecting the
stylesheet when csp is active, so I refactored the code to fix both issues.

PR #4411 will follow up on this commit and add more improvements.

Closes #917
Closes #2963
Closes #4394
Closes #4444

BREAKING CHANGE: triggering ngCsp directive via `ng:csp` attribute is not
supported any more. Please use data-ng-csp instead.
chore(grunt): add jshint tasks
style(ngTouch): fix up jshint issues
style(ngRoute): fix jshint issues
style(ngCookies): split line that is too long
style(ngLocale): fix jshint issues
style(ngAnimate): fix jshint issues

Turning off the maxlen directive as there are wide tables in the docs
that are not possible to shorten.
style(ngResource): fix jshint issues

Turning off the check for missing break statements in switch as the code
purposefully falls through.
Renaming ResourceFactory to resourceFactory as it is not strictly a
constructor function.
style(ngSanitize): fix jshint issues
style(ngScenario): fix up jshint issues
style(jqLite): lowercase the first char of non-constructors
style(common): fix jshint issues
style(ng): fix up jshint issues
style(ng/directives): fix up jshint issues
style(ng/filters): fix up jshint issues