Context and transformers work

I thought it'd be nice to discuss on code, so here's a pull request. This a work in progress.

What I'm hoping to do is to implement part 1.1 described here: https://github.com/kframework/k/wiki/Design-of-the-new-compiler-parser

I'll occasionally ping people to get some reviews/feedback.
But a protected getter will have same visibility with the field, is it useful?