Prototype loop fix for error augmentation

Add an ignore_loop argument to duk_hobject_prototype_chain_contains() to
support this behavior.  It depends on the context whether a prototype loop
should cause an error to be thrown or not.
Coerce with duk_safe_to_string() in runtests

Previously used duk_to_string() which may cause an uncaught error when a
thrown value cannot be string coerced (e.g. an error which participates
in a prototype loop causes an error when toString() is attempted).
Improve prototype loop testcase

Should now have full coverage over internal prototype walk sites.
API documentation for duk_{get_set}_prototype()
Improve API doc for duk_push_object re: prototypes
Extend get/set prototype API testcase

Now covers undefined/object for set call, naked objects etc.
Does not cover invalid arguments to duk_set_prototype().
Release note: set/get prototype
FIXME downgrade
FIXME cleanups and downgrades