Extension of XML project files

This is an extension of the OGS project file based on a discussion with @endJunction and @TomFischer .
Project files will store geometry and mesh info as before, but conditions as well as materials and numeric files will be stored process-dependent.

An example file look like this:
```xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="OpenGeoSysProject.xsl"?>

<!DOCTYPE OGS-PROJECT-DOM>
<OpenGeoSysProject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.opengeosys.org/images/xsd/OpenGeoSysProject.xsd" xmlns:ogs="http://www.opengeosys.org">
 <geofile>WESS Rivers.gml</geofile>
 <geofile>WESS Boundary.gml</geofile>
 <mshfile>Ammer-Homogen100m-Final.vtu</mshfile>
 <process type="Undefined">
  <cndfile>process-name.cnd</cndfile>
 </process>
</OpenGeoSysProject>
```

A few remarks:
* new project files based on this PR are not compatible with old ones (and the vice versa, the reader will no longer read the old project files (I do not think this is actually an issue, but it's worth mentioning)
* when more than one process exists (i.e. in case of process coupling) multiple cnd-, mat- and num-files will be written (one for each process). this is at least for the cnd-files not an actual requirement but based on this project structure it is ... this is worth discussing, I don't know if this is desired behaviour.
* I noticed that ```BoostVtuInterface``` is not actually derived from ```XMLInterface``` although it should be. This might just be an oversight but should be fixed nonetheless.
* writing and reading of mat- and num-files is currently just dummy-code as the interfaces do not yet exist
* somehow the interface needs to be able to extract existing processes from ```ProjectData```. this is currently not implemented but needed for the structure of the file
* I define the process type as an enum in the schema file, i.e. this is duplicate information. This needs discussion if it is desired or not. (pro: process-type can be checked during validation, con: the information needs to be maintained twice (in ```FEMEnums``` and in the Schema-file))
* no file type needs to be present according to the schema (```minOccurs=0```). this is *not* desired during simulation but imo necessary for model-building (i.e. DataExplorer) when not all information is already existing but project files might already be used. needs discussion.
* we should discuss stn-files. imo the extended information in comparision to pure geometry is useful but I am not sure if an extra file-type is needed and how to manage them in the code / in case studies.

I fixed intentation + name.
The arguments are not redundant. ```xml``` defines the interface-object needed to write the file (I renamed it now to ```xml_interface```), ```tag_name``` is the string of the tag written to the project-file (e.g. "mshfile" for a mesh file) and ```extension``` is the file extension written in the string specifying the date-file in the project file (e.g. "vtu" for a mesh file).
I *could* use the file extension also as tag-name to save one parameter but that would mean that tags were more difficult to read (i.e. a user looking at a project file would have to know that ```<gml>``` specifies a geometry and ```<vtu>``` specifies a mesh)
Please keep in mind that this method is private and no one will ever really use it. It's just there to avoid seven lines of codes again and again for each file format.