template expansion of `json` in chef-solo

Fixes #362
clean up and retab.
reuse jsonString instead of opaque result var.
Fix incorrect config key for staging directory
Merge pull request #369 from celkins/fix-staging-dir-2

website: Fix incorrect config key for Chef staging directory
s/droplet/server/
Merge pull request #370 from TFDuesing/patch-1

website: openstack s/droplet/server/
website: add tip about using apt-get/yum -y to prevent hangs
provisioner/salt-masterless: join paths properly
builder/amazon: drop private key if debug mode [GH-373]
builder/amazon: output DNS name if debug mode
builder/amazon: chmod debug key so it is ssh-ready
builder/amazon: don't chmod on windows
Merge pull request #364 from mwhooker/362

provisioner/chef-solo: template expansion of `json`
provisioner/chef-solo: properly escape user vars for JSON

/cc @mwhooker - I moved the processing up into Prepare so that any
errors will be shown during a validate pass. Also, I escape some stuff
in keys. Tests moved as well.
Update CHANGELOG
packer: pass tests
packer/plugin: Count number of interrupts atomically
provisioner/chef-solo: code re-org
packer/plugin: Interrupted() to check for i nterrupts