docs(ngModel.NgModelController) use `$evalAsync` instead of `$apply` for event handling

Have the apply called safely during events by using `$evalAsync` rather than `$apply`
This will help ensure that an apply for a user directive is not called during a digest cycle.

Closes #9891
docs(guide/Index): add book AngularJS UI Development

Matthias and I wrote a book on AngularJS which might be helpful for Angular developers.

Merci~!

Closes #9971
feat($routeProvider): allow setting caseInsensitiveMatch on the provider

Fixes #6477

Closes #9873
docs($q): remove IE8-specific notice

Closes #10008
refactor($parse): don't use bind-once interceptor for non-bind-once expressions

Side-effects:
  - Logic for allOrNothing watches now lives in $interpolate rather than $parse

Credit to @jbedard for idea to remove $watch interceptors craziness from $interpolate. Even though
it technically didn't actually work, it was worth a shot, and helped clean things up a bit. Go team!

Closes #9958
Closes #9961
docs($q): missing finally notifyCallback API

finally allows for notifyCallback and is missing in the Docs
https://github.com/angular/angular.js/blob/v1.3.2/src/ng/q.js#L288

Closes #10010
docs($controller): mention "controller as" syntax

Closes #10011
docs(guide/expressions): replace curly quotes with straight quotes in code example

REAL QUOTES HAVE CURVES

Closes #10017
docs($route): fix description of the caseInsensitiveMatch property

Closes #10028
docs(guide/expressions): clarify regexp literals usage in expressions

Closes #10026

Closes #10030
refactor($parse): separate tokenizing vs parsing more
Fixes `a.b` and `a .b` generating different getterFns
Fixes `{'': ...}` turning into `{"''": ...}`
Fixes `{.: ...}` parsing as `{'.': ...}` instead of throwing
Fixes #9131
refact(angular.bind): use `concat()` rather than duplicating code

Closes #4200
Merge branch 'master' of https://github.com/angular/angular.js

Conflicts:
	src/ng/controller.js