JIT macro compiler

Allows using macro implementations in the same compilation unit that
defines them if you enable -Xmacro-jit. Very-very experimental.
macro annotations, pre-alpha v2

unfortunately the original idea of hijacking enterSym didn't work
(see the comments in Namers.enterSym for more information), so I had
to resort to a very ugly hack, since I do need macro annots right away
SI-7470 implements fundep materialization

This fix provides implicit macros with an ability to affect type inference
in a more or less sane manner. That's crucial for materialization of
multi-parametric type class instances (e.g. Iso's from shapeless).

Details of the technique can be found in comments. Also see the discussion
at https://github.com/scala/scala/pull/2499.