Fix duk_set_global() global scope replacement

Must create a new scope instead of just setting _target of the existing one:
if just _target is set, it will affect other threads which share the same
(initial) built-ins.  Instead, we must create a new scope object and replace
it entirely.
Improvements to duk_set_global_object() testcase
API experimental note for duk_set_global_object()
Merge branch 'api-setglobal-fixes'

Fix bug in duk_set_global_object(): must create a new global lexical env
object instead of just overwriting _target property of the current one.
Otherwise the _target change will affect other contexts with the same
(initial) global object incorrectly.

Add a lot more tests to duk duk_set_global_object() testcase.

Add a note on the API being experimental for now.  The detailed semantics
can change with other sandboxing changes.