Fixes #1114, Adds upper and lower as filters for the template engine.
Fixes #1092, Adds a format option to the {{isotime}} variable.

Now using the golang magic date: Mon Jan 2 15:04:05 -0700 MST 2006
One can format the time like:

    {{isotime "2006-01-02"}} == "YYYY-MM-DD"
    {{isotime "060102-15"}}  == "YYMMDD-HH" (24-hour clock)
    {{isotime "060102-3"}}   == "YYMMDD-H"  (12-hour clock)

Using {{isotime}} as a standalone variable doesn't change. It still returns RFC3339 formatted time.
Adds documentation to the website. Explains how to format the time.
provisioner/file: set file/directory permissions

fixes #1064
builder/virtualbox-ovf,vmware-vmx: add `boot_command` support

Fixes #1082
added docs for boot_command and boot_wait
Add the cleanup when the process of EBS AMI interrupted
Refine the comments
add support for chef_environment
add chef_environment test
update website chef-client provisioner page
reorder chef_environment alphabetically
Add the support of launching spot instances in "amazon-ebs" AMI
Clean up code via "go fmt"
Add "spot_price" param into template processing
When unexpected state found in waiting, notify the caller func with a correct error message
Add the cleanup for existing spot request
Save the spot request before waiting for its active state
Enable the spot_price in "amazon-instance-store" AMI
Add the document for the new spot_price parameter