Prototype k rewrite machine

I call it K rewrite machine but it's really just a simple interpreter so far. Eventually, this would become a a fast abstract rewrite machine and the starting point of native code generation.
Can you add a TODO here with my name on it telling me to fix this with dependency injection? I believe the correct long-term solution here is to bind an abstract Cell class to either a mutable or immutable variant of the class.