introduce app.intaddrs which are ec2 secondary IPs

requires introduction of app.azlimit which limits the availability zones
for an instance / autoscale group to a single AZ.  Subnets cannot span
AZs, so this is the only option.

ec2rotatehosts now detects the first secondary address and preserves it
GH #19 - external addresses fail with multiple

removes applied addresses from pool to avoid re-applying to another
instance in same iteration.
Merge pull request #18 from WrathOfChris/cm-ec2secondaryaddrs

introduce app.intaddrs which are ec2 secondary IPs
Merge pull request #20 from WrathOfChris/cm-19-multiple-addrs

GH #19 - external addresses fail with multiple
Support yaml configs with extension
Fix tabs in code I'm about to work on
Fix tabs in code I'm about to work on
Detect if cloudcaster config has ACL management

If the user has explicitly defined the VPC with ACLs, use that.

If they haven't, just accept the defaults.
When refactoring your function names..

Remember to check for their invocations.
Create ACLs from config

Format is as follows

"vpc": {
    "cidr": "....",
    "subnets": [ "..." ],
    "pubsubnets": [ "..." ],
    "azs": [ "us-east-1a" ],
    "acls": [
      {
        "cidr_block": "0.0.0.0/0",
        "egress": true,
        "protocol": -1,
        "rule_action": "allow",
        "rule_number": 100
      }
      ,
      {
        "cidr_block": "0.0.0.0/0",
        "egress": false,
        "protocol": -1,
        "rule_action": "allow",
        "rule_number": 100
      }
    ]
}
Update docs
Attempts to validate existing rules
Special case icmp/port_range handling

We don't as of this moment handle it
Attempt to detect missing entries

Fix detection based on rule number

deepcopy the list of acls to check
* pass this to the validator
* for each entry, if we determine there's a match, remove it
* if there are any false entries, report for remediation
* if there are missing entries, add them
Debug output, remove stupid

Add normal verbose output when creating a VPC

When we attempt to loop over the API because of inconsistency, actually
exit the fucking thing.

Remove stupid return value hash stuff because I learned how python
reference passing works
Merge pull request #21 from vjanelle/yaml_configs

Support yaml configs with extension
conflict from yaml PR
Merge branch 'vjanelle-security_group_in_config'
Fix conflict between yaml PR
Adds network ACLs to VPC