Fix up a bunch of property types to match the AWS CloudFormation specifi...

Fix up a bunch of property types to match the AWS CloudFormation specification.
Reorder some property lists to match the order in AWS docs for ease of eye matching.
Added some missing properties for block device mappings in EBS.

There are some obvious numeric properties that should also be converted from basestring
to int type that are not being addressed in this commit because the goal here is to
conform the existing code to the AWS CloudFormation specification. We can start converting
some of the properties that are officially classified as strings in the spec to ints
because they are always ints and it makes Troposphere coding even more friendly.

Base Parameter class:
  - MaxLength type corrected from basestring now int.
  - MinLength type corrected from basestring now int.
  - MaxValue type corrected from basestring now int.
  - MinValue type corrected from basestring now int.

CloudFormation
  WaitCondition class:
    - Reorder properties to match AWS documentation order.

CloudFront:
  DefaultCacheBehavior class:
    - ViewProtocolPolicy corrected to be required property.
  DistributionConfig class:
    - DefaultCacheBehavior corrected to be required property.

EC2:
  DHCPOptions class:
    - Reorder properties to match AWS documentation order.
    - NetbiosNameServers type corrected from basestring to list.
    - NetbiosNodeType type corrected from list to int.
    - NTPServers type corrected from basestring to list.
  Added EBSBlockDevice class.
  Added BlockDeviceMapping class.
  Moved MountPoint class definition to before Instance class.
  Instance class:
    - Added missing BlockDeviceMappings list property.
    - Monitoring type corrected from basestring to bool.
  NetworkAclEntry class:
    - Reorder properties to match AWS documentation order.
    - Corrected Egress type from basestring to bool.
    - Corrected Icmp to be an optional property.
  SecurityGroupEgress class:
    - Reorder properties to match AWS documentation order.
    - Corrected FromPort type from basestring to int.
    - Corrected ToPort type from basestring to int.
  SecurityGroupIngress class:
    - Corrected FromPort type from basestring to int.
    - Corrected ToPort type from basestring to int.
  SecurityGroupRule class:
    - Reorder properties to match AWS documentation order.
    - Corrected FromPort type from basestring to int.
    - Corrected ToPort type from basestring to int.
  VPCDHCPOptionsAssociation class:
    - Reorder properties to match AWS documentation order.
  VPCGatewayAttachment class:
    - Reorder properties to match AWS documentation order.

Elastic Load Balancer:
  LoadBalancer class:
    - Corrected AvailabilityZones type from basestring to list.

IAM:
  AccessKey class:
    - Corrected Serial type from basestring to int.

RDS:
  DBInstance class:
    - Corrected MultiAZ type from basestring to bool.

Route53:
  BaseRecordSet class:
    - Corrected Weight type from basestring to int.

SimpleDB:
  Domain class:
    - Removed Description property that does not match AWS spec.

SQS:
  Queue class:
    - Corrected VisibilityTimeout type from basestring to int.