splits ast middleware into 2 middlewares #55

- well, actually into 3 to get the middlewarestack right
- analyzer middleware to build the ast
- refactor middleware to use the ast prepared by analyzer beforehand
- a bit of rerouting msgs going on