EC2 VPC security group updates - EUCA-9608

Security groups are updated for VPC support. VPC security groups allow
all protocols (0-255) and rules for any protocol (-1). The permitted
characters in VPC security group names and descriptions are different
from non-VPC security groups. VPC security groups can only reference
other groups in the same VPC. The default security group in a VPC cannot
be deleted.

EUCA-9608
EC2 VPC security group egress rule support - EUCA-9611

NetworkRule now includes a flag to denote egress/ingress rules. Egress
authorize/revoke actions are implemented and egress rules are included
when describing security groups.

EUCA-9611
Unit tests updated for security group changes - EUCA-9611
CloudWatch check for dimensions when processing metric data - EUCA-9774
EUCA-9644 add system account for cloudformation
EUCA-9644 (fixed using wrong account in ensureCloudFormationAccountExists( )
Reply with short device name in meta-data requests.
Fixes for: EUCA-8637
Don't dump stack trace back to user for undefined meta-data entries.
Fixes for: EUCA-7886, EUCA-9739, EUCA-7842
Map ephemeral0 to 'sdb' for HVM and 'sda2' for paravirtualized image.
Fixes for: EUCA-7860
Added comments for about root device name
EC2 VPC EIPs - EUCA-9730

Elastic IP address support for EC2 VPC. Elastic IPs can now be allocated
for use in a VPC and associated with an ENI.

EUCA-9730
EC2 VPC filtering for instances - EUCA-9614

Support for vpc filters with ec2 instances. This includes filters such
as the instances vpc identifier, subnet identifier, and by many network
interface properties.

EUCA-9614
Merge remote-tracking branch 'origin/dev/sjones/EUCA-9614' into testing
Fix EC2 resource filter unit test - EUCA-9614
Merge branch 'dev/ethomas/EUCA-9644' into testing
EUCA-9649: distribute correlation IDs across components
   -- Internal message's correlation id is prefixed with the request ID that user receives in response
   -- In-memory map that contains base message for a given resource ID and the message type
      : Users' original requests are used to construct correlation IDs for internal messages
      : this is to "remember" what has requested by users and later "retrieve" when requests are sent to backends
      : e.g., terminate-instance requests are in the map and later retrieved when compute service sends VmTerminate to CC
   -- Updated cc and nc to use the new scheme for correlation ID
   -- Updated logging in Java services and CC/NC. This is a temporary change for debugging and will be improved.