Ditz issue update
Ditz issue update
Add duk_def_prop(), rework defineProperty()

Add a C API binding for Object.defineProperty(): duk_def_prop().

Because that name conflicts with internal calls, rename them from
duk_def_prop*() to duk_xdef_prop().  This rename also makes it clearer that
the internal duk_xdef_prop*() calls have non-compliant, internal semantics.

Also reimplement Object.defineProperty() and Object.defineProperties() (and
duk_def_prop()) so that they share the same internal helpers, and there is
no need for a temporary property descriptor object which is unnecessary churn.
Detailed changes:

- New helper to prepare (validate and normalize) property descriptors
- New helper to implement Object.defineProperty() internals, leaving
  out validation of the property descriptor
- Reimplement Object.defineProperty() using the new helpers
- Reimplement Object.defineProperties() using the new helpers
- Reimplement duk_define_property() using the new helpers, so that a
  temporary property descriptor object is no longer created
API testcase for duk_def_prop()
Documentation for duk_def_prop()

- API entry
- Add defines to API page
- Add link to duk_def_prop() from Guide virtualization section
Release note: duk_def_prop()
Add DUK_DEFPROP_FORCE support
Add fail/force API tests for duk_def_prop()
Update API docs for DUK_DEFPROP_FORCE