Replace use of eval/translate with execute.

Benefits of doing so:
- decouple various things from how eden is evaluated. For example, doing
  `eval(translateToJavaScript(blah)` needs `root` and `rt` in scope to work
  correctly.
- get consistent handling of errors during evaluation of eden code. Previously
  error handling logic was sometimes written at each call site, using `Eden.execute`
  means the error handling is taken care of for you.