chore(docs/writer): fix Windows path incompatibilities

NodeJS on Windows uses back slashes for path separators. This
difference can be mitigated by use of the nodeJS path library.
In particular the `sep` property and the `dirname()`, `normalize()`
and `join()` methods of this library.  All path based arguments on
exported functions need to be normalized and `join` and `sep` must
be used instead of string manipulation to work with paths.
docs(guide/bootstrap): clarify manual bootstrapping
docs(ngClass): fix minor typo.
docs(ngModelController): improve $parsers/$formatters with example
docs(FormController): add methods for FormController
docs(tutorial/step_05): apply more useful link to services
style(ngRepeat): fix typos
docs(guide/e2e-testing): fix verb tense
docs($q): fix a few issues
docs(select): fix typos in ngOptions
docs(guide/di): fix headings hierarchy
feat(Grunt): add source maps to all min files

Generate source map files when build step is ran and adds source map
headers to all min files.

Source map url must be appended to the min file otherwise the line
offsets will be off.

Inspired by Ryan Seddon (PR #2858)

Closes #1714
chore(minErr): replace ngError with minErr
chore(ngdocs): update lunr to 0.4.0
fix(jqLite): allow override of jqLite.triggerHandler event object
chore(ngdocs): allow user to press escape key to close docs search
fix(ngMock): ensure mocked window still provides window.location functionality
feat(ngdocs): support popover, foldouts and foldover annotations
feat(ngdocs): provide support for user to jump between different versions of the angularjs documentation
chore(ngdocs): provide test code for lunr search in docs