The async mutex in the previous variant would fail when used in a single
threaded mode, because block_in_place() cannot be used there.
Instead, replace the code with a Arc<RwLock> inside of the
UpstreamAddress to let that class take care of its own mutability.
Signed-off-by: Jacob Kiers <code@kiers.eu>