Consolidate to single type.

Removes boilerplate data types. Parsing now produces Config [Directive].
Directives are redefined as:

Directive name args [Directive]

This keeps the logical semantic structure of Section Directives but
allows for a less complicated overall representation.
Rename to CST
Fix module export.
Update CST.
Fix tests
Allow ":" in arguments
Allow "@" in directive args

Allows us to parse emails correctly.
Add AST for further internal parsing
Remove unused ConfigQuery module
Remove commented makeLense calls
Merge branch 'master' into terminals