Build and Test Infrastructure.
Starting iteration for v00.00.01
Representation for pointer values.
Representation for Evaluator instances
Type and constructor for modules (programs)
Runner method for the evaluator.
Version 00.00.01

The virtual machine is nowhere near a "machine" yet. It recognizes
one type of value (pointers, implemented through the nuvm_value_t
data type) and is capable of running "programs" that consist solely
of returning a constant value stored in the program.

No virtual machine operations are supported so far, and programs
(implemented through the nuvm_module_t data type) are simply a
structure wrapping a single register of type nuvm_value_t, which
represents the value it will return.

This version is absolutely useless, but gives us the following basic
entities that are needed for future improvement:

1) A representation for values, so far limited to pointers, but this
   is easy to extended to other values, as we'll see in a couple
   versions ahead;

2) A basic representation for our evaluator, which starts to define
   the interface client code can use to manipulate it;

3) A simple representation for modules which can be used to
   represent our programs (each program is a package of one or more
   modules). This representation is fairly limited and many details
   are hard coded, but again we're laying the basic interface that
   we'll use most of the time.

4) A nice infra-structure to perform tests on what we have so far.
Extended module to allow more than one register.