Representation for types and registry of types.
Type and representation for primitive procedures.
Updated evaluator to run modules where entry-point is a primitive procedure, by calling the primitive.
v00.00.02

This version adds support for primitive procedures implemented in
the host to be called from our evaluator. Much like our previous
version, is still a useless machine, although this time it's able to
do a little bit more than return constants.

To be able to identify the primitives as a special kind of pointer a
rudimentary type system is created so our pointers are now typed.
That means we'll have representations for types and a simple
registry of types to guarantee a consistent view of all types
present in the evaluator while at the same time uniquely identifying
each type with a type id.