First stab at the NAT failover devices.

Still need to add logic to the monitor box so that it can perform the failover switching for us.
Remove the NAT watcher and use the bastion box for this purpose instead.
Add tags to the bastion box.
Add support for NAT failover.
Remove repeated BackupNAT instance definition.
Remove trailing newlines from the userdata and put them in the join function.
Remove the zipfile once we have the content.
Add back newlines.

We need them because we are sometimes joining variables with existing lines.
Verify NAT health with pings before declaring it healthy.
Fixed bugs found in further testing.

The cron-job was not thoroughly tested before but has been now.
Merge pull request #193 from edx/feanil/nat_failover

Feanil/nat failover