Modularise S3 protocol

Add a protocol interface to abstract the s3 implementation away from the server. The server handlers now call generic protocol functions on objects created in a protocol factory. Only this factory knows, that the underlying objects are S3.

* add virtual classes for protocols
* move s3 specific implementations to own folder/namespace and inherit generic protocol
* add protocol_factory to generate s3 objects for the server
* move fifo and phobos implementations to own namespace to mirror the same layout as for the protocol
6 jobs for modularise-http-interface in 16 minutes and 50 seconds (queued for 3 seconds)