fix(select): ensure that at least one option has the `selected` attribute set

Using `prop` to set selected is correct programmatically but accessibility
guidelines suggest that at least on item should have the `selected` attribute
set.

Closes #8366
Closes #8429
feat(ngMock): allow override of when/expect definitions

Closes #5766
Closes #8352
docs($resource): clarify the meaning of `@` in `paramDefaults`

Closes #8457
perf($q): move Deferred and Promise methods to prototypes

NOTE: Deferred doesn't get all the advantages of moving methods to the prototype,
since the constructor binds instance methods to "this" to support unbounded execution.

Closes #8300
docs(form.js): fix ngdoc tags for `$setSubmitted`

See 108a69be17df5884d026c57b2be3235c576250fe

Closes #8464
docs($compile): event handlers are not copied from the replaced node
docs(ngController): global controller fns disabled by default

Update doc to reflect 3f2232b5a181512fac23775b1df4a6ebda67d018,
which disabled use of global controller constructors (by default).

Closes #8466
docs(CHANGELOG.md): add missing breaking change from 1.3.0-beta.14

Closes #8474
docs($compile): fix typo 'default' spelling

Change spelling of 'defualt' to 'default'

Closes #8476
chore: ignore .lvimrc files