Handle key lookup failures; add default environment.

Identifiers are first checked for in the string dictionary, and then
they are either fetched or an exception is raised. Additionally, there
is now a default environment in which we can place things that are
always in scope.