Move HTTP server logic to `server/HTTPServer.js`

This commit moves all code related to configuring, launching and closing
of the HTTP server into its own module.

Reasons for this change:
  - seperation of concerns
  - keeping code DRY
  - keeping code maintainable