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