Add/fix filtering for security groups (EUCA-4657, EUCA-4678)

Filtering for security groups by properties is restored by changes to
NetworkGroupManager. NetworkGroups is updated to add support for
filtering by tags and to filter on the newly available group ID
property (unit test also updated for group ID)
Resource tags are now included when describing resources  (EUCA-4749)

The response message to the describe operation for images, instances,
security groups, snapshots and volumes now include the resource tags
for the requesting users account.

The 10-08-31 binding is updated to include tags along with the
associated message data object for each type. Service classes now use
the new 'getResourceTagMap' TagSupport method to bulk load the tags and
the 'addFromTags' Tags utility method to add tags to the response.

Unit tests are added to validate the class details used in Hibernate
criteria queries for loading tags.
EUCA-4671 implement non-tag filtering for images.  Did not implement db-persistence.  Some unit testing doesn't work as it requires bootstrapping.
Add/update filtering for images - EUCA-4761

Images is updated for predicate and database filtering for images. The
image filtering unit test is updated to provide coverage of all
predicate filters.

Hard coded values for root device name and type are moved to
BootableImageInfo implementations and related methods added to that
interface.

FilterSupport is updated to address a problem with database criteria
incorrectly excluding entries due if wildcards were used with non text
fields.

The Strings utility class is updated with a null safe toString method.

EUCA-4761
Non tag resource filtering support for instances - EUCA-4672

VmInstance is updated to extract display value calculations from the
instance describe type mapper, this allows filters to re-use these
values.

VmInstances is updated to add filters for instances to the
VmInstanceFilterSupport class. Enums are added for the functions related
to the filters.

FilterSupportTest is updated to fix alias support and to allow for
relations using sub-types.

VmInstanceFilterSupportTest is updated to cover predicate filters where
possible to do so without mocking support.

EUCA-4672
Login module discovery now ignores private modules.

The motivation for this change is ignoring test login modules.
Fix issue with generation of reply/response message class name.

The response message for a request is determined by changing the suffix
from 'Type' to 'ResponseType'. We were incorrectly removing all
occurances of the text 'Type' from the request class name.
Optional internal namespace suffix to avoid Component binding conflicts

Components can now declare a suffix to append to the internal namespace
to avoid binding conflicts between services that happen to have messages
with the same names.
Update exception handling framework for web services.

A new EucalyptusWebServiceException class is added for extention by
service specific exceptions. The new ErrorHandlerSupport class uses the
exception information to support handling of service errors.

The new QueryBindingInfo annotation allows error sub-classes to declare
the HTTP status code for use with that error condition. A Role
enumeration is added to identify the party at fault for an error
condition.

BaseMessageSupplier is added to encapsulate a message and any associated
binding details (initially just the HTTP status code) and web services
framework code is updated to allow responses of this type.
Add AutoScaling service stubs - EUCA-4645

Generated service outline with Gen2ools and customized for autoscaling.
Describe operations return empty messages for SOAP and Query APIs.
Signature V4 and V2 are enabled for the (Query API) service and
temporary credentials are permitted (AutoScaling with STS credentials)

Message bindings are updated for error responses and to populate fields
with required content. The getReply method is overridden for
AutoScalingMessage sub-classes to populate the request ID for each
response.

EUCA-4645
Add policy constants and service URL for AutoScaling service - EUCA-4645

PolicySpec is updated to include information for the Auto Scaling
service. The AutoScaling component ID class is updated to use the vendor
from the PolicySpec.

X509Download is updated to include the URL for Auto Scaling in the
eucarc file.

EUCA-4645
Add launch configuration management for Auto Scaling - EUCA-4754

A "configurations" package is added with launch configuration persistent
objects and a LaunchConfigurations class providing access. Auto scaling
entities will extend the new AbstractOwnedPersistent class.

AutoScalingMetadata(s) are added with similar purpose to CloudMetadata.

The AutoScalingService is updated to support create/describe/delete for
launch configurations. Associated messages are updated with convenience
methods and Query API binding annotations. An InternalFailureException
class is added for unexpected service errors.

EUCA-4754
Fix filtering with multiple tag filters - EUCA-4747

Modified database filtering by tags which was restricting any particular
tag to match all requirements rather than matching any of the tags for a
resource.

EUCA-4747
Quota support for Auto Scaling launch configurations - EUCA-4754

Add QuantityMetricFunction and LaunchConfigurationNumberQuotaKey for
launch configuration quota support. PolicySpec is updated to include
auto scaling in the action pattern.

A new AuthQuotaException is added to allow better handling of auth
errors that are quota related.

Update AbstractOwnedPersistent to handle user information when present.

Update persistence and error handling and add exception classes for
LimitExceeded and AlreadyExists errors. A new saveDirect method is added
to Transactions that does not attempt to merge.

EUCA-4754
Create CloudWatch web service stubs - EUCA-4556
EUCA-4588, EUCA-4606
- Service stub for loadbalancer is added
- LoadBalancer entity is added
- CreateLoadBalancer, DeleteLoadBalancer, and DescribeLoadBalancer are added as proof-or-concept; need more work
Auto scaling group management - EUCA-4756

A "groups" package is added with auto scaling group persistent objects
and an AutoScalingGroups class providing access. Metadata exceptions are
added for auto scaling to remove use of ones from the cloud manager
module.

The AutoScalingService is updated to support create, describe, update
and delete for auto scaling groups and setting of desired capacity.
Describe of termination policy types is also implemented. Associated
messages are updated with convenience methods and Query API binding
annotations. An InvalidParameterValueException is added for use with
incorrect parameters.

Added a QuantityMetricFunction and AutoScalingGroupNumberQuotaKey for
auto scaling group quota support. Common quota key functionality is
moved to the new AutoScalingNumberQuotaKeySupport class.

EUCA-4756
Timestamp parsing now consumes all input - EUCA-4743

Parsing of timestamps now verifies that there are no unparsed characters
in the timestamp.

A unit test is added with basic timestamp parsing tests and coverage of
this fix.

EUCA-4743
Update Auto Scaling service endpoint eucarc variable - EUCA-4843

The variable name is updated for consistency with AWS tools.

EUCA-4843
Resource filtering by timestamp at query time - EUCA-4744

Timestamp parsing is fixed (EUCA-4743) so database filters for date
properties can be enabled.

EUCA-4744