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
I'm not sure, but from documentation of the std::fstream class, I conclude, that an fstream can be open but in bad state, which is to be checked with `operator!()`. What do you think?