docs($resource): Added an installation section.
fix($route): make nextRoute.$route private

the `nextRoute` object available in `$routeChangeStart` handler
accidentaly leaked  property which pointed to the route definition
currently being matched.

this was done just for the internal needs of the `$route` implementation
and was never documented as public api.

Some confusion arouse around why the $route property was not always
available on the `nextRoute` object (see #1907). The right thing for us
to do is to prefix the property with $$ for now and refactor the code
to remove the property completely in the future. Application developers
should use the `nextRoute` object itself rather than its `$route` property.
The main diff is that nextRoute inherits from the object referenced by $route.

BREAKING CHANGE: in $routeChangeStart event, nextRoute.$route property is gone.

Use the nextRoute object instead of nextRoute.$route.

Closes #1907
test($route): add tests for matching 'otherwise' routes
feat(directive): add ngKeypress directive for handling keypress event
docs(directive): minor typo fix

Changed "obeject" to "object"
feat(directive): ng:switch-always

New directive to show elements inside a switch statement regardless if there
was a case match or the match was to a default
Elements marked as ng-switch-always show up in the position that they were
declared inside the ng-switch

Closes #1074
feat(ng:switch): Preserve the order of the elements not in the ng-switch

Preserve the order of the elements that are not part of a case nor default in
a ng-switch directive

Closes #1074