feat(scope): Add new createChildWithLocals API

This hides Prototype map inside scope apis, and facilitates switch to
ContextLocals.
This is changing the behaviour significantly, yes?
Now, instead of calling ```createChild(new HashMap())```, we are calling ```createChild(new Map.from({}))```

Is that the intent of this change?