Adds support for ephemeral ports in detail::service

`std::move(socket)`