Implement two stage build, generator/generated.

Implement the two stage build. From the Programmatic template source,
build an AST for a generator. Once serialized and evaluated, the
generator is used to build ASTs of generated functions.

Our initial test builds a "static" generator, one that generates the
same function, does not alter the output based on variables. The
generator AST is serialized to file and evaluated using `require`. The
generated AST is serialized to file and evaluated using `require`. Both
of the generated files are checked into source control. Source control
is used to track changes to output, see how Programmatic's output will
change over time.

The `builder` library is used as a helper inside the generator. The
generator will require the `builder` library using the path
`programmatic/builder` so our `t/test` script needs to get the
development directory into the node path. It does so with a symbolic
link. As such, this library will not test on Windows at the moment.