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
Now I think you are right. Polymorphism is actually working with references. [endJ/cpp_misconceptions polymorphism_with_references.cpp](https://github.com/endJunction/cpp_misconceptions/blob/master/polymorphism_with_references.cpp)