Replace [TreatNullAs=functionName] with [StrictTypeChecking]

There's a very weird use of [TreatNullAs=functionName] and
[TreatUndefinedAs=functionName] on 2 indexed setters,
using these as "function to call on undefined/null",
basically to call a deleter on undefined/null.

This can be removed by just putting this deleter code in the setter code,
and then moving the type-checking into the bindings, where they belong.

This simplifies the Blink code, CG, and IDL files,
and also adds support for [StrictTypeChecking], for that matter.
(Also removed dead code from named property setter.)

Also:
* Rebaseline test results for HTMLSelectElement, since error message changes
* Add test for HTMLOptionsCollection (which lacks tests), and fix style in that file.
* Update IDL test files

Originally added as part of:
Support indexed setter generation
https://chromiumcodereview.appspot.com/15899009

R=haraken

Review URL: https://codereview.chromium.org/143943020

git-svn-id: svn://svn.chromium.org/blink/trunk@166210 bbb929c8-8fbe-4397-9dbb-9b2b20218538