Introduce EvalContextVariableGet

This is a major structural commit that should bring all of variables
into EvalContext.

Cleanup work around Scope is yet to come.