docs(guide/unit-testing): improve unit testing guide

This commit adds to the unit testing guide:

- an explicit section on additional libraries: Karma, Jasmine and
  angular-mocks and link to the docs for those projects too. Explain the
  benefit and use case for each of these libaries
- fully featured test examples and add more documentation
  around them, in particular the controller test
- a clear separation between the section on principles of testing
  and the actual tutorial on writing a test

Closes #8220
doc(injector): adds strictDi documentation to appropriate methods.

Closes #9624
refactor(ngForm): Remove checking event.preventDefault and calling event.returnValue. Related to issue #4557. Worked with @bullwrinkle on this.
docs($location): add examples for some methods

Closes #9754
fix ($http): throw error when string URL is provided