C14n / case insensitive comparison for resource identifiers - EUCA-8501

Added ResourceIdentifiers utility and corresponding ResourceIdentifier
classes for working with EC2 resource identifiers. These classes are now
used for generation, parsing and canonicalization of resource
identifiers.

Managers and services are updated for images, instances, security
groups, snapshots, and volumes to allow use of identifiers in any case
and persistence of identifiers in the canonical format.

A cloud property is added to allow the active resource identifier
canonicalizers to be specified. On new installs the 'lower'
canonicalizer is used for identifiers with lower case hex suffix and on
upgraded systems the 'upper' canonicalizer is used for backwards
compatibility.

CloudMetadatas is updated with utility methods for determining if a
resource identifier is for a (particular type of) image.

EUCA-8501