C++ server code

Latest master merged in. We should discuss the layout of the code.
`[^/]+`? This means not `/` more than once? What do we need the `+` for?