STM Conversion complete to typecheck

All occururances of Chan and MVar have been replaced with their STM
equivelent.  All files typecheck and Main compiles to an exicutable which
we assume still suffers from the same deadlock as the non-STM version.

NOTE: Object graph searches are now in the STM monad not the IO monad.
This makes the composible with the STM combinators, but requires the
initial search to user `atomically` to lift the STM inot the IO monad.
Removed Deadlock in STM

Change to STM introduced a new deadlock.  This is not the same as the
deadlock we are trying to solve by introducing STM in the first place.
That deadlock still remains.
Continuations [WIP]

The logic for sending messages and recieving responses has been refactored
out of Object.hs and into Continuation.hs.

Spawn, Graph and Eval have not been updated to reflect the change, the
only requirement for this commit was that Continuation, which has not
dependacies, compiles, and the Object compiles to a .o file (dependancies
still are broken.

Continuation introduces a new Monad, `ContM` which is the continuation
state wrapping the STM monad.
Author's Log on Continuations

See Author's log fro December 13, 2013 for a complete treatment of
Continutions.

There is also a slight modification to Continuation to make ContM and
associated function private.
Refactor Continuations

Coninuations have been refactored to eliminate the ContM Monad. A
semi-stable interface has been established.  This commit does not include
the work necessary to impliment Object and Eval using this interface.

Some minimal testing and benchamrking has been done.  Initial results
indicate that `dispatch` is approximatly an order of magnitude slower then
send.  Interstingly, with this overly simplified benchmark, the single
threaded application is significantly faster then the multi threaded one.
I am suspicious that in real world applications the threaded
implimentation will inprove and the overhead of `dispatch` will be
minimal.
STM Working to Compile

The new STM continuation system that was the goal of the STM branch into
which this commit is made now compiles along with all the major pieces of
the interperter.

The next set is to create the runtime environment and get back to a
minimually working interperter.  The Boot.hs file has jey yo be touched
and lines 35 - 41 will need major reworking to comply with the new
continuation and context regime.

It is expected that making these changes may reveal further work needed in
the STM COntinuation layout.  but given that they are currently
well-formed per GHC this is a good place to make a commit so that if
everything gets really messed up we can come back to this stable point.

TODO:
  * There are two undefined functions that need to be worked out.  One is
    the getMethod function in Object.Spawn.  There were major changes to
    the way the Object graph search in implimented.  There is still some
    refactoring work in that area of the code (it is still unclear what
    belongs in Context and what in Object Graph) A commit was needed
    before attempting this refactor.
  * In Context the call to dispatch intentionally has been left with
    `undefined` as the Responder. It is unclear whether the idea of simply
    setting up a responder on Self is sufficient if Self is a local
    sub-object.  This also dealys the need to fix a cyclic dependance
    between Context and Object.Spawn
  * Fix Boot and likely other runtime pieces for the new STM Continuations
  * Eval of call and apply using sendM and dispatchM as appropriate
  * Proper tail calls for Blocks. (!)

Notes:
  Once STM is working, it would be best to merge back with the main
  branch before adding to the runtime system further. The current
  (non-working) stuff in Boot is enough to show that STM can avoid looping
  call graphs.
STM Working!

Though there are known issues with incomplete implimentation of dispatchC
it is now possible to compile and run Main.exe with everything that was
working before intact.  This commit will merge with master and development
may continue.