Fix some issues with qualified array expansion.

$(other.array[$(other.list)]) would expand to
$(other#array[$(other.list)]) in output due to issues mapping remote
lists to "this" scope. Fix skips the outer "." to properly map.

Fixes Issue #1998, Mantis #1128
Merge pull request #421 from baptr/issue-1998

Fix some issues with qualified array expansion.
Move UnresolvedVariables into scope, constify
Remove ScopeNew

Previously, scopes were created explicitly using ScopeNew before use.
Now, attempting to add a variable or set a current scope will implicitly
create a new scope.
Rename ScopeDelete -> ScopeClear, to clarify updated semantics
Merge pull request #422 from sigurdteigen/cleanup/implicit-scope

Cleanup/implicit scope
Remove scope parameter from ConvergeVarHashPromise

This essentially forces the scope to be 'bundle_name' or
'bundle_name_meta'.

This cleanup is sponsored by an intact policy DOM.