IDL compiler: Optional arguments for methods

Main complexity here is that the C++ method call can now happen several
places, and varies depending on index (due to omitted optional arguments),
hence factored out into a function.

BUG=239771
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160802 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert 160786 "Revert 160785 "Remove the DateExtension""

> Revert 160785 "Remove the DateExtension"
> 
> Broke Linux ChromiumOS Builder:
> chrome_render_process_observer.cc:356:5: error: 'enableDateExtension' is not a member of 'WebKit::WebRuntimeFeatures'
> 
> > Remove the DateExtension
> > 
> > The DateExtension tried to kill unload handlers that delayed unload by
> > sleeping. However, if a page does this on purpose, it is easy to work
> > around this, plus running v8::Extensions slows down context creation.
> > 
> > BUG=299746
> > R=abarth@chromium.org
> > 
> > Review URL: https://codereview.chromium.org/25001004
> 
> TBR=jochen@chromium.org
> 
> Review URL: https://codereview.chromium.org/50133003

TBR=falken@chromium.org

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

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