Changing from an interface to an abstract class

I think it makes more sense to use an abstract class here as opposed
to an interface.  The interpreters will likely need to share some
functionality.  The method indentation and the method for getting a
new line should probably be shared for example... not that they exist yet..