IDL: Support using nullable on any method return type

Previously, nullable string and wrapper types was supported, since those
types have a native/natural null representation in C++.  Other types,
like primitives (long, boolean) or complex types like sequence<>, could
not be nullable.

With this CL, nullable return types other than string or wrapper types
are handled using Nullable<T>, like so:

  Nullable<T> result = impl->method(...);
  if (result.isNull())
    v8SetReturnValueNull(info);
  else
    v8SetReturnValue...(info, ... result.get() ...);

This CL does not change code generation since currently no method return
such a nullable type.

BUG=390780

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

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