clarifies the magic TST API

We can provide not just MethodSymbol.body, but the entire Symbol.source.

That's going to be very useful for the interpreter, because that would
save it from worrying about discovering (possibly forward-looking)
definitions on its own.
addresses review comments for the initial prototype

Initial prototype: https://github.com/dedoz/scala-macros-interpreter/commit/c6ba108c684a69f000b573ba52ef8f6b1466e2b1.
Comments addressed in this commit:
  1) Runtime reflection replaced by `sym.source`
  2) Interpreter is now written in functional style
  3) Sketch for interpreter's data structures
  4) Execution state now uses symbols to track bindings