Remove leftover print statement.
Make the unknown data states generate exceptions rather than Nones.

This way we can better distinguish between the different cases, and later
incorporate more details into the exceptions to allow for smarter error
reporting.
Clean up the interpreter error handling.

Now that the interpreter retains enough position/name information to
emit useful error messages it can handle most error situations itself,
simplifying callers that previously had to catch its errors and re-raise
them with additional context.