perf(orderBy): copy array with slice instead of for loop

Use array slice method to copy entire array instead of a for loop
http://jsperf.com/new-array-vs-splice-vs-slice/54

Closes #9942
test(orderBy): add test cases for ordering array-like objects

Closes #10060
docs(guide/compiler): replaced 'locals' with 'scope'

In "Understanding How Scopes Work with Transcluded Directives" section, a text referred to an
obsolete 'locals' instead of 'scope'.

Closes #10018
docs($q): explain what the $q service does in description

Explain what the $q service does in description, instead of origin document.

The original explanation was less accessible to people new to promises and JS in general.

Closes #10056
chore($q): make jscs happy

jscs loves to be happy and does not love trailing whitespace.
fix(ngMock): call $interval callbacks even when invokeApply is false

Make ngMock.$interval behave like ng.$interval

Closes #10032
fix(ngPattern): match behaviour of native HTML pattern attribute

From https://html.spec.whatwg.org/multipage/forms.html#attr-input-pattern

> The compiled pattern regular expression, when matched against a string, must have its start
anchored to the start of the string and its end anchored to the end of the string.

Closes #9881
Closes #9888
test(select): refactor option elements expectations to use `toEqualOption` matcher

By using a new matcher our tests become less brittle with respect to unimportant
extra attributes.
fix(select): ensure the label attribute is updated in Internet Explorer

Only changing the `<option>` text value is not enough to trigger a render
change in IE. We need to explicit update the `label` property too.

Closes #9621
Closes #10042
docs(guide/accessibility): Content updates

Also includes new section on ngMessages
docs(ngAria): Add Usage Details and Examples

Closes #10031