
Hail dynamically-generated C++ code needs to #include various header
files declaring Hail-specific classes and functions.  To allow this the
relevant header files are included as a resource, and the dynamic-compile
system figures out how to access them from the resource tree.

The code under src/main/c also refers to the same copy of the header
files, to guarantee consistency.

To avoid possible collisions with non-hail header files, we put everything
in the include/hail directory and do #include "hail/SomeHeaderFile.h".

When/if we need to make third-party (but open-source) libraries usable
from dynamically-generated code, their header directories can also go in this
include/ directory, as siblings of include/hail.  But note that such library
code must also be accessible on all nodes of the cluster, possibly by linking
into libhail.so.
