Made a NameNode for representing a variable name (and later function name).
Reworked the scope functions to work with the new NameNode. I'm guessing I might
	 have missed some spots where it still expects a plain String instead of
	 NameNode.