Give more useful output for #to:do: merge point

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Simplified jit.py by removing redundant code

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Implement adopt_child* and replace in Node

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Change node replacement to use compile-time specialized methods per class

Since RPython has restricted reflective capabilities, we need to generate _replace_child_with methods for each class, reading the list of _child_nodes_ at compile time.

And currently, we need to initialize all subclasses of Node explicitly.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Style fix

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Nicer debugger info for Message Nodes

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Added specialization for GlobalReadNode to avoid repetitive lookup of global

The check for whether there is already a global could not easily be hoisted with normal RPython mechanisms. And this specialization does do really nicely.

Signed-off-by: Stefan Marr <git@stefan-marr.de>