effects: many compilation fixes
inserteffects: compiles
inserteffects: remove trailing whitespace
inserteffects: added global cyclic/recursive scope
Do away with annoying wrapping of inherited functions

Using the curiously recurring template pattern.
The StlDS now accepts a derived class as a template argument, allowing it to instantiate objects of derived types directly.
Added cleaner refactoring of metaprogramming functionality, with placeholders for generic MP functionality
Refactored codebase for DDataAnnotation type (with splice vars) for separate metaprogramming pass to build generators. Further refactoring needed to again remove splice vars from DDataAnnotation while preserving MP pass in the parser.
Update q1 + Engine bugfixes.

Q1 now prints number of results.

Made initial outgoing connections more robust.
Peers now try to connect() several times, until a successful connection is established.

Switched from async_connect to connect, for use with exceptions.
This shouldn't be a big deal since we used to manually block until the connection was established anyway.
More refactoring, to enforce data annotations as unstaged (i.e., spliced) AST nodes, with an explicit staging layer (in s.L.K3.Parser.Metaprogram). The staging layer consists of data annotation macros, and control annotations. We preserve control annotations the AST for lineage only (this can be removed at any time as desired), where downstream compiler stages do not need to operate on control annotations.
Cleaned up warnings for recent refactoring
inserteffects: added ability to create global env
Update q2, pass typechecker.
typechecker: changed env type to a record
types: modify logging to only be printed when 'verbose' is asked for
cpp: switched 'fromJust' to have more informative error messages
cpp: added missing operators to precedence rules
Attach CArgs to all Collection types
Create the `OptHint' type.

The `OptHint' data type covers the set of annotations added by the
optimizer to the K3 AST, influencing the code generation process, as
well as subsequent analysis passes.
Add helper accessors for effects.
Add `Ord` instances for all effect types.