Always use the desired LB configuration instead of using LB config from nova metadata

A bunch of model changes have been made:

- LBConfig.lb_id has been moved to LBNode.lb_id. This allows re-using LBConfig in more places without duplicating the lb_id unnecessarily.
- NovaServer.desired_lbs has moved to DesiredGroupState.desired_lbs
- AddToLoadBalancer has been renamed AddNodesToLoadBalancer and now accepts a mapping of IP addresses to LBConfigs instead of just one node configuration.

The batching of AddNodesToLoadBalancer will be done in a different PR.
Did you mean mapping of (lb_id, port) -> LBConfig instances? Since same server can be in same LB on different port.