Expand test don't need to ScopeSetCurrent anymore
Prevent unexpanded lookups to EvalContextVariableGet
Do not expand l-vals in EvalContextVariableGet
Ensure lvals in VarRefs are not composite for EvalContextVariableGet

This is a prerequisite for a new symbol table. Previously the lval
compontent of a VarRef that was passed to EvalContextVariableGet could
contain a dot, meaning that we had parse this out before looking up the
variable. This would then take presidence over the scope component of
the same VarRef.

This commit asserts that VarRefs passed to EvalContextVariableGet are
proper VarRefs.
Use VarRefParse for almost all variable lookups.

As opposed to constructing VarRefs custom using C99 inline struct
definition syntax.
Only ScopeSetCurrent on stack push/pop
Remove most uses of VarRefParseFromBundle

This is ordinarily no longer necessary as the stack contains
information about what bundle is currently evaluated.
FnCallJoin may use implicit scoping
StringDataType may use implicit scope
FnCallIsVariable may use implicit scope
Ensure VarRefs can parse indices with special symbols, add test
Use VarRef parsing in vars actuator
Decompose scope and namespace in struct Scope
Merge pull request #819 from sigurdteigen/cleanup/scopes

Cleanup/scopes
Introducing IPAddress_IsIPAddress

This function provides a simple way to check if a given string contains a proper IP address or not.
In case that a proper IPAddress pointer is given it will return the address on it.