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.
Urg, I really still prefer not to have such things in destructors.

I know it's hard to avoid these.  Somewhere you have to ensure shutdown.
Let's remember this in case there are errors later and move forward...

On Wed, Oct 29, 2014 at 9:41 PM, Vinnie Falco <notifications@github.com>
wrote:

> In src/ripple/http/impl/Door.cpp:
>
> >  {
> > +    {
> > +        std::unique_lock<std::mutex> lock(mutex_);
> > +        while (! list_.empty())
> > +            cond_.wait(lock);
> > +    }
>
> Would you feel differently if it read like this:
>
> if (thread_.joinable())
>     thread_.join();
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/ripple/rippled/pull/668/files#r19583916>.
>