IDL compiler: [NamedConstructor] (basic)

Initial CL; will follow up with arguments, extended attributes, etc.

Perl parser handling of named constructors is hacky (included in
constructors, but treated differently by code generator), so added
FIXMEs to clean this up post-Perl.

Also:
* minor whitespace cleanup in Perl,
* remove unnecessary V8Document.h header, and
* minor refactoring of Python.

Docs:
https://sites.google.com/a/chromium.org/dev/blink/webidl/blink-idl-extended-attributes#TOC-NamedConstructor-i-

BUG=239771

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

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