Use server dict instead of IP for load balancer operations in otter.worker.launch_server_v1

This enables us to use node ids as well as IPs, which is necessary for RCv3.
Non-blocking - just a comment.  This doesn't affect anything in this PR, and is correct, but wondering if we can maybe make a note of it in the worker so when we do convergence we get this part right.  I was testing some stuff because I wanted to test if two addresses can appear under the 'private' label.

Short version - yes, and we probably want to make sure we have the right one (which has a 10.x.x.x) address.

There is only 1 IPv4 address for service net, which is what we add to the load balancers - that's a 10.x.x.x address.  If the user wanted other private networks (badly named), it's named the same thing as what the user specified.  So if the user added the server also to a private network named MySuperAwesomeNetwork, the addresses would look like:

    "private": [{"addr": "10.0.0.1", "version": 4}],
    "MySuperAwesomeNetwork": [{"addr": "192.168.4.3", "version": 4}, {"addr": "::::", "version 6"}],
    "public": [{"addr": "50.50.50.50", "version": 4}, {"addr": "::::", "version 6"}]

However, if the user chooses to name their private network 'private' (which is allowed), then what shows up is indeed what you have here, with the 2 IPv4 addresses listed under 'private', and the servicenet address (which we want to add to the load balancer) is not necessarily the first one.  For instance:

    "private": [{"addr": "192.168.3.1"}, {"addr": "10.0.0.1", "version": 4}],
    "public": [{"addr": "50.50.50.50", "version": 4}, {"addr": "::::", "version 6"}]

So if we want to add only the servicenet address, we might want to check the address.  :|