docs(ngModel): fix grammar and improve clarity

Closes #4291

Conflicts:
	src/ng/directive/input.js
docs(ngValue): add docs for ngValue directive

Closes #4267
docs(tutorial/step11): correct Jasmine Matcher link

Link http://pivotal.github.com/jasmine/jsdoc/symbols/jasmine.Matchers.html
is no longer valid.

Closes #4329
docs($provide): improve examples and explanations

$provide's example seems awkward. Replace with more real-world example,
using an injected service, where the service defined has a good reason to
be a singleton.

There's quite a lot of confusion around $provide:
http://stackoverflow.com/search?q=angularjs+service+vs+factory
Tests for example at: http://jsbin.com/EMabAv/1/edit?js,output
docs($provide): improve docs and examples further

Improve the "tracking" service example by adding a configuration option.
Get better formatting of the generated code samples using <pre> tags.
Move the detailed explanations into each function's documentation block.
Improve the overview and list the constituent functions by significance.

Closes #4302
docs(guide/controller): use `.controller` syntax

Use the recommended `module.controller` syntax rather than global
functions to define controllers in the examples.
docs(guide/controller): improve guidance and examples

Remove mention of global controller functions
Convert larger examples to runnable demos
Remove mention of pre-1.0 controllers, in particular discussion of
controller inheritance.

TODO: Probably could do with updating to explain the "controller as" syntax
at some point.

Closes: #4373
revert(validate-commit-msg): fix incorrect comment

Revert d5b62465f06b652b227b73cd15c298832f1f7070 since it was not valid.

Closes #3952