info locals and info args

Prints the name and value of local variables and function arguments.

Also fixes an issue with EvalSymbol where it could find entries outside of the intended parent info entry. 
Depth is being tracked so the loop exits once the reader returns to the starting depth. 

Without it the reader will continue into other entries such as other functions and may find invalid entries.  You can see this in the testvariables app by setting a breakpoint in the barfoo() function. Once broken there run `print a2` and it will print garbage instead of telling you the variable doesn't exist.