Every header is self-contained and includes only what it must to
function, relying on users include what they need in source files,
adopting a pay-what-you-use model (in particular for internal
dependencies).
This is an effort to improve build performance. Several includes
scattered across the project are either unused or partially used (i.e.
just used to import a type name, not depending on the actual contents of
the header file).
Replaces a lot of these includes with forward declarations.
1) use addNNC() method to store the NNCs
2) convert all int's to size_t
3) remove .reserve() from the loop
4) use m_xxx instead of xxx_
5) rename xyz1 to ijk1 etc.
This class provides the raw non-neighboring connections data as read
from the deck and/or added using the addNNC method.
The NNC data is currently not processed. I.e. multiple NNC connection
between the same cell can exist side by side.