With this commit, it's posssible to handle a request from a QgsProject without writing it to the disk.
```python
server = QgsServer()
project = QgsProject()
vlayer = QgsVectorLayer("/path/to/shapefile/file.shp", "layer_name_you_like", "ogr")
project.addMapLayer(vlayer)
query_string = 'https://www.qgis.org/?SERVICE=WMS&VERSION=1.3&REQUEST=GetCapabilities'
request = QgsBufferServerRequest(query_string, QgsServerRequest.GetMethod, {}, data)
response = QgsBufferServerResponse()
server.handleRequest(request, response, project)
```
This removes the handleRequest method that returns the
headers and body as byte array.
This superceeded by the implementation that takes a
request and response instances.
This part adds the headers as an optional argument
to the request and start using the handleRequest(request, response)
call in the python tests.
Some additional tests are also added.
* Instanciate QgsServerInterface even if HAVE_SERVER_PYTHON_PLUGINS is
not defined
* Pass QgsServerInterface in module registration methods.
* Add QgsServer initialisation test
#Please enter the commit message for your changes. Lines starting
Much simpler GUI with a single method for all
cases. handleRequest now returns both headers and
body in a QPair.
Python binding returns a tuple of QByteArray.