Instance and Class Modules (Closes #5)

The Object Graph function now look in `modules` of instances and in the new
`cmodules` of classes for methods.

This involved a total re-write of Object.Graph and associated changes
accross the whole system.  Graph breaks down into five mains sections in
addation to the auxilary functions for converting Values to Objects and
locating the precedence table.

* Direct functions look only in teh local thread
* Remote functions send Search messages out to other threads
* Search functions use direct and remote functions to impliment Sapphire's
  search logic.
* Lookup functions simplify the output of search functions removing the
  Maybe and replacing it with `nil`s if something is not found.  The
  `lookupVar` function also works its way through a Var chain
* Insert functions as their name implies place values back into objects

MutableObject and MutableValue
------------------------------

It became more and more necessary to know where a variable came from so
that a modified value could replace it.  Initial attempts to use lenses
were unsuccessful because of the prevalent monadic structure.  The lens
library looses much of its combinatorial power when faved with Monadic
values.

Instead a made-to-order solution of mutable objects and values was
created.  A mutable object remembers how to place itselv back into the
context but must be suplied with a function that alters the object itself.

Mutable values remember where they came from and provide a function which
will put a new value in their place.  In general mutable objects are used
to create mutable values.

Response type for Continuations
-------------------------------

It became clear that using the special value VNil to denote a lack of
response whe hampering efforts to write clean search fuinctions.  The
functionc could not tell if the value they were getting was an avtual
`nil` or a missing value.  To solve this all replies are now wrapped in a
Response object that can clearly give a NothingFound value.  This system
also included a currently little used Error feature that we hope will be
helpful in solving the error propigation or abort issue.

Bugs
----

A few interesting bugs were revieled in from this refactoring not
necessarly related to the issue at hand.

* Class is it own class.  That is `Class.cls => Class`
* The above change made it clear that a class might have its own Pid and
  could therefore make a remote call to itself.  In doing so it defeated
  the mechinism in Continuation that allowed for self referencing calls.
  The solution was to shadow the continuation before finding the
  dispatchQueue