refact(select): use `prop` to modify the `select` property

jQuery suggests using `prop` rather than `attr` to modify the `select` property of an element.
You can see the full list of migration warnings for jQuery:
https://github.com/jquery/jquery-migrate/blob/master/warnings.md

Closes #4107
Closes #4122
docs(ngMock): fix typo providers -> provides

Should be a verb, ☆.。.：・゜☆MERCI BEAUCOUP☆.。.：・゜☆
docs($sce): update the `parseAs` method name
perf: optimize internal isWindow call

Each window has a reference to itself, which is pretty unique so we can use
that to simplify our isWindow check
test(isWindow): add tests for isWindow