rave: Add execution environments.

Execution environments work like Python 'jails' with their own sets of
imports, rave modules, variables, et cetera. Every game has its own
execution environment.

This commit also modifies rave to not use the current game as a global
indicator, but the current execution environment. This fits better with
Python semantics, and one can retrieve the associated game from an
environment already.