hashtable variables are now supported as both local and self

*  This required a slight rewrite to how variables are identified,
reflected in the refactor of GetVariable()...