Added basic Puppet provisioner
builder/amazon: Re-ordered steps for AMI region copying so tags and
launch permissions are also applied to copied AMIs
Also deregister AMI if it was copied to other regions
builder/digitalocean: retry on any pending event errors

/cc @pearkes - I hate this thing.
Update CHANGELOG
builder/digitalocean: looser pending event string matching.

Most APIs return "has a pending event" but power off seems to return
"already a pending event". WTF. Also, just wtf at the DigitalOcean API.
I can't wait until they change their english and this breaks. Because
it is definitely going to happen, and it's going to be such a fun time.
builder/digitalocean: retry power off a number of times

See comment.
builder/digitalocean: break loop if we reach off state

Otherwise we get stuck in a long loop. Whoops.
builder/digitalocean: actually, we want to try hard on shutdown
builder/digitalocean: properly cleanup goroutines for status checking
builder/digitalocean: proper timeouts so poweroff retries
builder/digitalocean: give up on graceful shutdown more quickly
builder/digitalocean: get compilation working again
builder/digitalocean: retry pending events a lot more
builder/digitalocean: retry longer and don't retry shutdown
Allow customization of SSH Key pair pattern

Defined in a template using ssh_keypair_pattern. Defaults to "packer %s"
Enable customization of VirtualBox disk controller with `hard_drive_interface` option (SATA only).
Document the `hard_drive_interface` option.
Adding support for isotime template variable
Merge pull request #391 from jbronn/hard_drive_interface

builder/virtualbox: Add `hard_drive_interface` option