Initial work on an http server

This is clearly far from finished, but it does respond to basic curl requests
and could be made to work with the client if the client supported arbitrary
paths and ports - which would probably be worth doing.