RuntimeAgent: added writable and enumerable flags

Modified RuntimeAgent to return 'writable' and 'enumerable' flags for each
property.

Flag 'writable' is used by frontend to decide which properties can be
edited (modified) by the user.

Flag 'enumerable' controls display-style of the property, non-enumerable
properties are dimmed.
RuntimeAgent: callFunctionOn with arguments

Implemented support for calling a function with arguments. This change enabled
live-edit of property values.
Fixed 'get scope properties' to include flags

V8 debugger does not include attributes of properties returned by 'scope'
request. To work around this issue, we use 'scope' request only to get
handle (ref) of the scope and send a regular 'lookup' request to get scope
properties.
Implemented setVariableValue.

Also modified RuntimeAgent.getProperties() to add null 'value' field to
property value objec of type null.
DebuggerAgent: handle unsupported node version

Modified DebuggerAgent.setVariableValue to return a descriptive error message
when the debugged process runs on a version of V8 that does not implement
setVariableValue command.
fixup! Fixed version check to use client version

Modified version check in setVariableValue to use `process.version` from
the debugged process instead of node-inspector's process.