Test LoadBalancers with a common set of tests to verify they are API compliant

If we are happy with the approach demonstrated in this PR I still have to port RackSpace to the scheme.

This PR also adds more intelligent mocks. Whilst there are some downsides to that it has elevated the amount of input validation and round-trip testing that happens.

This PR would be followed by a second to add ``feature`` metadata to expose which load balancers manage members by IP and which manage them by instance id. And also the backend port policy (a good few ignore Member.port). I'd love to write tests for these that validate consistency over the entire API, so i'd like to finish this PR first.