[WIP] Better EvalSymbol

Still have a ways to go on this one but wanted you to know it was in progress.

- EvalSymbols can now find package variables in the same and other packages

TODO:
- Clean up symbol searching for members, multiple types with the same member names can conflict
- Handle nested structs  i.e. print foo.bar.baz