Skeleton project data

This provides skeletons needed for process/solver class and a reworked `ProjectData` class.
All files from `OGS/` dir are distributed in the new `ProcessLib/` and `Applications/` directories and the `OgsLib` is also substituted with `ApplicationsLib`.
The new structures are used in the [GroundwaterFlow](https://github.com/endJunction/ogs/tree/GroundwaterFlow) and [CommandLineApplication](
https://github.com/endJunction/ogs/tree/CommandLineApplication] branches.

**For easier review please note:**
 - Most commits are just removing files.
 - Changes on files with one to three changed lines are adjustments of the includes or namespaces.
 - The interesting stuff consists of the new/moved files listed below.

Please take a look on (buttom-up order):
 - ProcessLib/BoundaryCondition
 - ProcessLib/InitialCondition
 - ProcessLib/ProcessVariable
 - ProcessLib/Process
 - ProcessLib/GroundwaterFlow
 - Applications/ProjectData
At this stage yes. While I understand that passing nullptr to the constructor will make the BoundaryCondition objects impossible to use, I don't think we need a check here.