Add CloudFormation support via Troposphere

This changeset adds support for Amazon Web Services CloudFormation via [Troposphere](https://github.com/cloudtools/troposphere), a Python library for describing CloudFormation stacks.

There are currently 4 stacks:

- VPC

The VPC consists of 4 subnets, 2 public and 2 private. The subnets are spread across 2 availability zones. There is a NAT instance for each availability zone, and one bastion instance for the entire VPC.

- Data store (contains database and cache)

The data stores consist of a PostgreSQL RDS instance setup across multiple availability zones and a Redis ElastiCache instance. Both live inside the private subnets.

- App servers

The application servers live within a vanilla Auto Scaling Group (ASG) that is associated with an Elastic Load Balancer (ELB). Health checks run by the ELB trigger changes in the ASG. All application servers live inside the public subnets, but are fronted by their own ELB.

- Tile servers

The tile servers live within a vanilla Auto Scaling Group (ASG) that is associated with an Elastic Load Balancer (ELB) as well. Health checks run by the ELB trigger changes in the ASG. All tile servers live inside the public subnets, but are fronted by their own ELB.

Additional AWS deployment details are housed in the `README`.
2010?