Refactoring lex() so that it returns a Trifle list.

This is necessary so we can return Trifle exceptions from lex. RPython
won't let us return 'either a python list or a trifle exception object'.
Writing a mock_stdout helper context manager.
Adding a unit test where we evaluate a file from the top level interpreter.
Ensure that the top-level interpreter can handle new-style exceptions.