Trying to trufflize primitives into their own nodes

- removing the distinction between methods and primitives
- introducing a new truffle node based on the AbstractMessageNode that is supposed to represent primitives PrimitiveNode

On the Smalltalk level, there isn't the notion of Primitive objects anymore, i.e., SPrimtive is completely integrated into SMethod. On the VM, i.e., truffle-level, they are still handled separately, especially to facilitate later optimizations such as inlining and avoiding frame creation. The primitive frames have currently no slot for a marker object.

Primitives are now implemented in *Prims classes to avoid circular dependencies on the generated code. Installing the prims requires access to the generated factory, which was the main problem.

Primitives are not optimized or grouped, no specialization done yet, but I think there is quite a bit of potential.

Changed the way block evaluation works. It now uses also a proper primitive.

[TODO-REPORT: detail how primitives are handled]

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Constructing a new primitive needs to be on slow path.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Remove Invokable and Primitive VM objects

not needed anymore after the truffelization of primitives

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Use specialization to build the arithmetic primitives: started with Addition

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Use specialization for multiplication and subtraction as well

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Use specialization for LogicAnd as well

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Use specialization for LessThan and Sqrt

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Added missing #& and #bitXor: primitives to Double

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