IDL: Improve "argument needs v8::TryCatch" logic slightly

Enumeration types are effectively strings, and should thus be handled the
same, meaning they don't need a v8::TryCatch object.

This changes generated code for a few methods that take at least one
enumeration type argument, and don't otherwise need a v8::TryCatch, by
eliminating the unnecessary v8::TryCatch locals.

Also refactor slightly: pass in the IdlOperation object and check whether
the return type is Promise inside argument_needs_try_catch(), instead
of passing in that fact as an argument. This keeps the logic localized in
argument_needs_try_catch().

R=haraken@chromium.org
BUG=

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

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