Converge on desired load balancer state (no draining)

This is a first stab at converging on desired load balancer state.  This PR adds the following functionality:

1.  Removes a server from all the load balancers it's attached to when the server needs to be deleted
2.  Converges all active servers to their desired load balancer state

Remaining to be done):
- [x] Tests for _converge_lb_state
- [x] Function to create the current LB status structure in the `NovaServer` class from `load_balancers_with_cheese`, plus tests.  (Also maybe should be in different PR)
- [x] Tests for converge to handle LB removal

Points I'm unsure about that would be awesome if addresesd in review:

1.  Naming
2.  We do not currently support specifying the condition or type or weight of the server on a LB.  Weight makes sense - I wonder if it would ever make sense to support the SECONDARY type in an autoscale group.  (traffic is only sent to a SECONDARY node if one of the PRIMARY nodes goes down).

Thanks!

UPDATE: 
In future PR:  function for aggregating all AddToLoadBalancer calls for the same load balancer into one step.  Same for RemoveFromLoadBalancer.

I don't feel super strongly about this, so I'm totally fine with changing it - I think that would be more clear in our code that we're using it to mean Rackspace ServiceNet.  

However, Nova does sort of refer to it as the private address though, so it might be more clear from that point?  For instance, if you have other private networks hooked up to your server, the server details response you get back is something like:

    ...
    "addresses": {
        "PrivateNetworkName1": [
            {
                "version": 4,
                "addr": "192.168.x.x"
            }
        ],
        "PrivateNetworkName1": [
            {
                "version": 4,
                "addr": "192.168.x.x"
            }
        ],
        "public": [
            {
                "version": 4,
                "addr": "x.x.x.x"
            },
            {
                "version": 6,
                "addr": "....."
            }
        ],
        "private": [
            {
                "version": 4,
                "addr": "10.x.x.x"
            }
        ]
    }
    ...

So it's keyed on 'private'. And openstack documentation also seems to suggest that 'private' is a thing and maybe special (at least just looking at the example list server addresses response here: http://developer.openstack.org/api-ref-compute-v2.html - I don't really know though).

Not sure if ServiceNet is a Rackspace specific name - even if it were though, I'm not sure if we care, since otter only works against Rackspace anyway (due to CLB).

Should I change it?