docs(api): adds links to top level guides

The main api docs page is probably the main landing page for many devs
looking to learn angular, so linking to the main guide pages would
likely help.

Closes #5869
docs(directive): link to directive registration api function

Originally, this issue was regarding documenting `restrict: 'CM'` in the directive guide, but it
was pointed out that the restrict documentation is covered in the $compile documentation. Because of
this, a link was simply added to the $compile documentation.

However, the wording suggests that it's actually linking to the directive registration function, in
$compileProvider, so the docs will link there instead. There is a link only a paragraph below to the
$compile documentation, so this does not hurt.

Closes #5516
docs(services): use $log service in example consistently with $log API

The $log provider returns an object and not a function, so this example, which appears to be using
the $log provider, should call it as it would be called in a real-world application.

Closes #5875
docs(ngInit): note precedence when used with filters

Clears up expression priority issue

Closes #3869
Closes #5873
docs(ngInit): ng-init is an attribute/class directive, not an element directive

As discussed in comments on https://github.com/angular/angular.js/commit/42ec95ebae716c81087684b55ed8fa8c13888abc#commitcomment-5109829,
ngInit is not an element directive, so @clkao's example should reflect this.

Closes #5879
docs($q): note that function okToGreet is expected to be defined in example

the function okToGreet wasn't defined, so this example wouldn't work properly.

I've decided that instead of adding unrelated code to the example, it should just be noted that the
function is expected to be defined in the lexical scope.

Closes #5878
docs($provide): fix Markdown formatting for provider method

Indentation made Markdown parser think that it’s a block of code.

Closes #5446
docs($http): remove outdated part about $http outside of $apply phase

This removes some outdated advice which no longer is true against the latest angular version.

The information about unit testing with ngMocks remains, because it's always good to have
information like that easily found. This little snippet is not worded perfectly, and is not
a very good example unit test, so additional work is needed here.

Relates to #5206
Closes #5485
docs(ngEventDirs): document priority of event directives

The general assumption is that if @priority is not defined, the priority is 0. BUT it's not
necessarily harmful to be explicit about this.

Closes #5852
fix($parse): do not use locals to resolve object properties

Do not use the locals when performing a field access in an angular expression.

Closes #5838
Closes #5862
docs(guide/controller): fix duplicated "and" typo

Remove the second instance of the word "and" from the docs where it was duplicated.
docs(tutorial): fix grammar

Closes #5909
docs(tutorial): remove 'going forward' nonsense

Closes #5914

time/space dimension error
fix(ngRoute): pipe preceding route param no longer masks ? or * operator

Before this change,

```js
$routeProvider.when('/foo/:bar|?', { ... });
```

would not have the expected effect --- the parameter would not be optional, and
the pipe would not be included in the parameter name.

Following this change, the presence of the pipe operator will typically cause an
exception to be thrown due to the fact that the generated regexp is invalid.

The net result of this change is that ? and * operators will not be masked, and
pipe operators will need to be removed, although it's unexpected that these are
being used anywhere.

Closes #5920
docs(select): add object comparison warning
docs(select): add callout style for a note
chore(docs): add spacing to tutorial buttons

Added 5px of right margin to tutorial buttons (Previous, Live demom ...).

Closes #5901
style(guide/directive): remove ws
docs(guide/directive): clarify attr object definition

Closes #5884
docs(changelog): remove reverted commit from 1.2.9

Closes #5868