Refactor Overlay, HTTP::Server for universal port

These refactorings are required to support the universal port.
Reviewers: @miguelportilla, @scottschurr

Ignore the top 3 (eefc5d9..0ebc9ee) they are from another pull request.
I would second Scott's concern.  At some point either the loop will run forever, or the wait will hold forever, and we won't have a good way to debug it.