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.
Non-blocking, bike-shedding nitpick - I wonder if 'mapping' might be more accurate, because this is a combination of the configuration + the address?  `node_configs` implies just the `LBConfig` to me, but it works well enough :)