parameterize availability zones; reformat templ maps

Pull request for you @e0d.  This ran to completion for me on us-west-1, didn't try in us-east-1.
---------------------
Added defaults to some of the settings to make it more likely that someone will get a stack up and running on the first try: deployment key and environment tag.

Parameterized the availability zones instead of hardcoding them to us-east-1. Each region has it's own notion of what is primary and what is secondary, etc. because it seems that not all capabilities work in all AZ's.  Specifically I got this error when trying to create a VPC in us-west-1.

> Value (us-west-1b) for parameter availabilityZone is invalid. Subnets 
> can currently only be created in the following availability zones:
> us-west-1c, us-west-1a.

For us-east-1 "B" and "C" are still the primary and secondary so EdX\shouldn't be affected. But in us-west-1 primary=A and secondary=C. We'll have to learn over time what works best for other regions.

Reformatted the mapping sections to make them easier to read.  Hope you don't mind.  Much terser and easier to eyeball.

Terser overall description.  Removed the "you'll be billed!" warning.