docs(tutorial/step_05): fix typo
chore(bower): add ngAria module to script
feat(formController): add $setUntouched to propagate untouched state

Closes #9050
chore(docs): refactor the docs app search for better bootup time

This commit refactors how the search index is built. The docsSearch service
is now defined by a provider, which returns a different implementation of
the service depending upon whether the current browser supports WebWorkers
or now.

* **WebWorker supported**: The index is then built and stored in a new worker.
The service posts and receives messages to and from this worker to make
queries on the search index.

* **WebWorker no supported**: The index is built locally but with a 500ms
delay so that the initial page can render before the browser is blocked as
the index is built.

Also the way that the current app is identified has been modified so we can
slim down the js data files (pages-data.js) to again improve startup time.

Closes #9204
Closes #9203
feat(input): support dynamic element validation

Interpolates the form controll attribute name, so that dynamic form controls (such as those rendered
in an ngRepeat) will always have their expected interpolated name.

Closes #4791
feat(input): rename form controls when name is updated
feat(form): support dynamic form validation