Return Hello, world on connection event

Seems to be more correct than just defining this when the server is created.
Only start server if we do not have a parent

This means that the app was started on it's own, and not inside a test.
Move server listen and closing to before and after methods, respectively
Explicitly end the client after we check what the server returns on connect