Auto scaling zone rebalancing for zone failures - EUCA-4995

Auto scaling availability zones are now rebalanced on failure or
recovery of a zone.

ActivityManager is updated to coordinate a persistent record of the
currently unavailable zones and to ignore unavailable zones when
launching instances.

AutoScalingGroups is updated to allow groups to be marked as requiring
scaling by zone, this is used when a zone state changes.

A new ZoneUnavailabilityMarker class is added to record unavailble zones
to the database. The ZoneUnavailabilityMarkers interface and
PersistenceZoneUnavailabilityMarkers implementation are added to manage
ZoneUnavailabilityMarker entities.

ZoneMonitor is added for in-memory tracking of zone availability. The
ZoneMonitorEventListener will periodically cause ZoneMonitor to process
zone availability.

EUCA-4995
Query API binding errors now use 400 HTTP status code - EUCA-5327

Query APIs now use a 400 status code for binding errors, previously a
412 status code was used.

EUCA-5327
Auto Scaling suspend and resume processes operations - EUCA-5001

AutoScalingService is updated to implement suspended/resume processes
operations.

AutoScalingGroup now tracks suspended processes. A new SuspendedProcess
entity records that a ScalingProcessType is suspended along with a
reason for the suspension. AutoScalingGroups is updated to include
suspended process information in the description for a group.

ActivityManager now checks if a process is suspended before performing
work.

EUCA-5001
Auto scaling add support for DescribeScalingProcessTypes - EUCA-4998

AutoScalingService is updated to implement the new operation. A type
mapper is added to AutoScalingGroups for conversion to the response
format.

EUCA-4998
EUCA-5358 update policy spec with load balance operations
EUCA-4934: Configure euca name server
 -- when a new loadbalancer is created, updateARecord of Dns Service is called
 -- when the loadbalancer is deleted, removeARecord of Dns Service is called
 -- naming scheme for the loadbalancer A record: {loadbalancer_name}.{loadbalancing.loadbalancer_dns_subdomain}.{system.dns.dnsdomain}
 -- TODO: the current implementation doesn't allow 1:N relation between dns and ips; should modify DnsService to allow this
EUCA-4917, EUCA-4920: security group authorize/revoke per loadbalancer listerers
  -- when a new loadbalancer listener is attached to the loadbalancer, it triggers authorizing the requested protocol/port to the loadbalancer's associated group
  -- when the listeners are deleted it revokes the rule
DescribeLoadbalancers return the filtered result when request comes from servo instances
Bug fixes in multiple loadbalancer cases
bug fixes in the query of entity classes
EUCA-4918: Instance health check service side implementation
EUCA-5116 system metrics story.

list metrics and get metric statistics operations are able to use system metrics.

EUCA-5233 Instance Metrics

Consume and process the following instance system metrics :
CPUUtilization, (Thank you, Evan Thomas for your help)
DiskReadOps,
DiskReadBytes,
DiskWriteBytes,
NetworkIn,
NetworkOut.

EUCA-5234 EBS Metrics

Consume and process the following ebs system metrics :
VolumeReadBytes,
VolumeWriteBytes,
VolumeTotalReadTime,
VolumeTotalWriteTime.
Added alarm monitoring code, logic to do state change based on value over time, stubbed out code for execute actions.
Merge branch 'team/clc-dev/services' of git.eucalyptus-systems.com:eucalyptus into team/clc-dev/services

Conflicts:
	clc/modules/cloudwatch/src/main/java/com/eucalyptus/cloudwatch/CloudWatchService.java
Fix auto scaling replacement of manually terminated instance - EUCA-4899

Replacement of manually terminated instances was broken by changes for
availability zone rebalancing. The fix is to set the scaling required
flag when terminating an instance without decrementing the capacity.

EUCA-4899
EUCA-4918: configure instance health check
 -- implement ConfigureHealthCheck and DescribeInstanceHealth
 -- Servo fetches the health check configuration from the ELB service front
 -- Servo pushes the health check result to the ELB service via custom PutServoStates operation
EUCA-4918: bug fixes in querying backend instances for multiple loadbalancers (INCOMPLETE)