Reorganize header inclusion
The IPPL wiki should be updated to describe some best practices and a set of conventions for #include
s and forward declarations in header files. The headers in IPPL then need to be updated to follow these best practices to ensure that all types are properly defined or declared wherever they appear and that there is no dependence on #include
directives appearing in a particular order (see !160 (merged)).
In addition, different sections of IPPL should be grouped together such that end-users can #include
a single file to gain access to the components they need, e.g. IPPL core, solvers, etc.