first draft of visitor refactoring

this commit breaks everything ever, I know. But I want to get reviews done on the interface for visitors before I start making changes to the entire code base to support the new API.

Note that while I'm sure I'll have to do some fine-tuning, this is designed to serve as a drop-in replacement for what already existed, except that BasicHookWorker has now become
LocalTransformer in keeping with its similarity in function to LocalTransformer in org.kframework.backend.java.

@traiansf @radumereuta @andreistefanescu Please review. Ignore the fact that it doesn't compile for now, I don't intend to merge this yet.