fix(ngEventDirectives): parse expression only once during compile phase.
docs($location): update paramValue description for search()

search() supports an array for paramValue, but this is not described in the docs.
docs($parse): Fix typo
docs(guide/contribute): remove redundancy and link to CONTRIBUTING.md
style: remove ws
fix(ngIf): destroy child scope when destroying DOM
fix(ngModel): deregister from the form on scope not DOM destruction

Due to animations, DOM might get destroyed much later than scope and so the element $destroy event
might get fired outside of $digest, which causes changes to the validation model go unobserved
until the next digest. By deregistering on scope  event, the deregistration always happens
in $digest and the form validation model changes will be observed.

Closes #4226
Closes #4779
chore(docs): fix ordering of docs in the guide
docs($log): add the word "safely" to clarify

I was reading the doc and had to read the code to be sure it was safe.  Spelling it out seems easier.

Closes #4760
docs(overview): improve readability

Inserted a couple of line breaks to increase readability.

Closes #4756
docs(guide/understanding-controllers): fix typo in example

Broken - $scope.spicy = 'very';
Works - $scope.spice = 'very';

Closes #4752
docs($http): note that default $http headers can be overridden

Closes #4750
docs(input): fix typo

Closes #4734
docs(guide): add SEO4Ajax to the SEO tools list

Closes #4748
docs(guide/directive): fix transclusion example

The example about transclusion and scopes worked only because the order of `scope` and `element`
arguments is wrong, which means that the `name' property of the scope is not really being updated.
To really work, the directive has to define its own scope, either a new child scope or, as is more
common with transclusion, an isolated scope.

Closes #4774