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.
In some raw memory access situations it is better to cast to unsigned char.  I'm assuming you're conforming to a pre-existing ASIO interface?