Unified mesh layer mapping

* Unifies the interface of MeshLayerMapper and LayeredVolume and introduces base class for these two  to handle common functionality.
* Allows to create prism-meshes from incomplete layers or conflicting information and unifies/simplifies GUI dialogue for inputting the relevant information.
* Moves ascii-raster I/O to FileIO
Why not the much safer `std::array`?