Add code generator parse transform embryo
Add handlign meta variables

- Var@  for variables carrying ordinary values, to be inserted
- Var@@ for variables carrying parse-trees to be inserted
Abandon meta variables, in favour of runtime transformation

This does away with magic variable names,
and I believe it will compose better when put into use later on.
Implement a run-time parse transform: replacement
Add an include and a test for the codegen parse transform
Doc fixups for the code generator parse transform
Improve on the unit test for the code generator parse transform
Add support for replacing a syntax tree

Rename the replace to replace_term,
to make room for the new replace_tree.
Robustify the code generator's safe atom analyzers
Add a splice_trees transform
Add a comment about syntax tree splicing
Fix a bug in gpb_codegen:expr and gpb_codegen:exprs

Revert properly to the erl_parse syntax tree format.
Use erl_syntax and erl_syntax_lib functions

Drop the usage of the ad-hoc term-traverser,
in favour of erl_syntax and erl_syntax_lib functions.

The key factor to be able to use erl_syntax and erl_syntax_lib
was to not mix abstract parse-trees with parse-trees. This was
made possible by moving parse-tree manipulations from compile-time
to run-time.
Hide doc for the run-time parse transform post-processor
Add functionality to insert case clauses

Given a syntax tree that represents a case clause "marker -> ...",
replace this with some other case clauses.
Simplify case clause splicing in gpb_codegen

It was wrong to recursively splice case clauses, since erl_syntax:map
already processes the parse-tree bottom-up.

Add a test to demonstrate that recursive case clause splicing works.
Remove gpb_codegen:exprs/2

It is more obvious what's going in when list of expressions is created
explicitly, plus it opens up the possibility, arity-wise for
runtime-transforms also for expressions. Also add a macro for
creating a parse-tree of the expression: Thus now:

  [?expr(...), ?expr(...)]

instead of

  gpb_codegen:exprs(..., ...)
Add gpb_codegen:expr/2 with runtime-transforms
Improve the gpb_codegen documentation
Add gpb_codegen:case_clause/2 with runtime-transforms