Change Value(value: AnyRef, ...) to Value(value: Any, ...)

We don't need to restrict values to AnyRefs just because reflection
works this way. Changing to Any helps with patter matching in tests.
Rename getField() to runCode() and move to the top-level
Fixed assignment to vars which used to fail on type lookup

fixes #11
Make sure lazy vals are really lazy in the interpreter

This was fixed earlier, but lets make sure lazy vals stay lazy.