AS-170 local lock

A mapping of local locks based on group id is stored in `CassScalingGroupCollection` that is used to when modifying state. First local lock is acquired, then kazoo lock is acquired before getting and modifying state. This will reduce zk traffic to one call per group at any point in time. So, 200+ servers can be easily created in one execution