Eliminate the concept of a "symbol storage".

This removes the idea that the type of a variable can change during
interpretation, making the interpreter model simpler and thus easier to
understand.

The idea of changeable types was originally designed to allow compile-time
logic to dynamically select the type of a variable, but this can be
accomplished by simply initializing the variable with differently-typed
values.

This fixes issue #2.