revert: fix(input): always pass in the model value to `ctrl.$isEmpty`

This commit tried to create consistency by ensuring that `$isEmpty` is not
called on both model and view values but it chose to only use `$modelValue`,
which is not actually correct.

`$isEmpty` is designed to compute whether the `$viewValue` is empty. In
practice this is the only part of the parse/format system that the
directive has control over. We can't rely on the `$modelValue` being in
any particular format since other directives can add in their own formatters
and parsers to completely change this.

(reverted from commit 3e51b84bc19f7e6acc61cb536ddcdbfed307c831)
fix(input[date]): do not use `$isEmpty` to check the model validity
fix(input): set ngTrueValue on required checkbox

Fixes #5164
docs(NgModelController): clarify the value parameter for $isEmpty
fix(linky): encode double quotes when serializing email addresses

Email addresses can (under certain restrictions) include double quote
characters. See http://tools.ietf.org/html/rfc3696#section-3.

For example, `"Jo Bloggs"@abc.com` is a valid email address.

When serializing emails to the `href` attribute of an anchor element,
we must HTML encode these double quote characters. See
http://www.w3.org/TR/html-markup/syntax.html#syntax-attr-double-quoted

This commit does not attempt to improve the functionality (i.e. regex)
that attempts to identify email addresses in a general string.

Closes #8945
Closes #8964
Closes #5946
Closes #10090
Closes #9256
perf(*): use Object.create instead of creating temporary constructors

Closes #10058
fix(filterFilter): correctly handle deep expression objects

Previously, trying to use a deep expression object (i.e. an object whose
properties can be objects themselves) did not work correctly.
This commit refactors `filterFilter`, making it simpler and adding support
for filtering collections of arbitrarily deep objects.

Closes #7323
Closes #9698
test(filter): test expression object with inherited properties

Related to #9984
fix(filterFilter): ignore function properties and account for inherited properties

Closes #9984