Retry instance creation on UnauthorizedOperation error as well. When using IAM roles, there seems to be a period where this error might occur.
When a machine disappears (e.g. accidentally terminated), a redeploy of the
network would not restore the VPN connections, as the private VPN key is lost.
Now we check if the machine still has the VPN key, and if not, regenerate it.
Catch None
Adds --backup option to show-physical action. This dumps a network specification
for a given backup that can be included in another network. This can be used
to conveniently create a new network based on data disks of an existing cluster.

E.g.

$ charon show-physical -d prod --backup 20130304000022
{
  "machine" = {
    deployment.ec2.blockDeviceMapping."/dev/xvdf".disk = "snap-d5e00ef2";
  };
}
Delete volumes created from snapshots automatically

This is consistent with other auto-created volumes.  Of course it can
be overriden by setting deleteOnTermination = false.
Refactor EBS volume handling

We no longer create/attach volumes at instance creation time but
afterwards.  This way there is only one code path to test.
Reattach volumes that were manually detached
Typo
Detect if we're trying to detach an ephemeral disk
Update EBS example
In stead of tagging volumes at attachment-time, always do the tagging, so accidentally untagged volumes get retagged.