Evaluate Call Expression

The expression (Call exp msg args) can now be evaluated. There seem to be
a few bugs in the system mostly having to do with unexpected edge cases.

The vexing problem of changing self and then dispatching with the
wrong object being updated by the message queu is real and getting closer
to causing errors.

TODO:
  * new method
  * def to create methods
  * more runtime work