Don't specify any particular clang++.
Flatten lists of targets passed to targets.
More assertions!
Fix parser error handling.

If we fail to parse an AST, don’t try to print the AST!
Add a helpful ‘using’ directive.
Move lexer management around.

These changes are required in order to fiddle with the lexer when we import modules.
Remove an unnecessary #include.
Generate debug flex/yacc code.
Add fabrique::StructureType.

This type will be used to represent module contents, and possibly Go-style structures and interfaces too.
Add support for importing modules.

We can import modules as follows:

foo = import('foo.fab');

This commit enables the syntax, as well as actually parsing the module
in order to determine its (structural) type.  It doesn't include the
ability to actually *use* the imported module, however: that requires
field-access syntax, which is next on the agenda.
Add fabrique::FindModule().

This function finds a Fabrique module within an OS-specific search path and returns an open input file stream for it.
Add ‘helloworld' example from website.
Add more variable to test/Parsing/files.fab.
Rationalise file syntax.

Raw filenames can only be encountered within ‘files()’, so create a lex FSA state to handle this case (actually two cases: it would be an error to put filenames between ‘files’ and ‘(‘).

Also, disallow file(‘foo’) within files(). They’re separate mechanisms, we should use them differently.
Add support for field access.