Add support for [TreatNullAs] extended attribute for reflected attributes

Add support for [TreatNullAs] extended attribute for reflected attributes and fix the
bindings generator so that [Reflect] no longer implies [TreatNullAs=NullString].
This way, newly introduced reflected attributes will behave according to specification.

This CL adds [TreatNullAs=NullString] extended attribute to all existing reflected
attributes of type DOMString so that there is no web-exposed behavior change. This
makes it more explicit that we treat null as the Null string for those attributes and
it makes it clear that we don't match the specifications in many cases.

In follow-up patches, we should gradually remove those [TreatNullAs=NullString]
extended attributes for reflected attributes when the specification does not indicate
[TreatNullAs=EmptyString] and when other browser behave according to the
specification.

R=arv, haraken
BUG=304959

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

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