Add support for building QEMU images from pre-existing image files

If the `disk_image` parameter is set to true treat the ISO location
as the source of the disk image, copy it to the destination,
resize and boot it.
Update QEMU builder documentation with `disk_image` flag
vagrantcloud post-processor selfhosted box feature
Update documentation: New box_download_url setting
common/command/template,packer/template: fix build name ConfigTemplate processing [GH-858]
Fixes #1334, Add power on retry to ESXi Driver.
add v2 api support

Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
builder/vmware-esxi: Add configuration options for remote cache path

  Add configuration option to explicitly control where Packer uploads
  ISO and floppy files to on ESXi hosts. The `remote_cache_datastore`
  defaults to the `remote_datastore` value. The 'remote_cache_directory'
  defaults to 'packer_cache', similar to the local caching capabilities.

  Addresses issues with [GH-1218] and [GH-1221] where paths for uploaded
  ISO and floppy files are not written to a valid location in the
  datastore.
Update for amazon-instance builder docs [GH-1491]

Updating --url parameter to --region in the builder
documentation for the bundle upload command.
Update document about qemu builder for [GH-1407].
https://github.com/mitchellh/packer/pull/1407
Fix typo
Update digitalocean.html.markdown

update docs
Update digitalocean.html.markdown

separate v1 and v2 api
Update digitalocean.html.markdown

fix mistake
Fix detecting guest additions URL

When system property exists with empty value, packer treats that
empty value as a URL. The issue has been spotted on Arch
with Virtualbox 4.3.16.
Added struct to be passed to the Process function to render the vagrant file path.  Resolves Issue #1125.
Ran go fmt
Configure MessagePack to be a bit more like gob

By default codec's MessagePack encode/decode will convert a string
into a []byte.  Tweak the settings so that string -> string and []byte
-> []byte.
Expand Artifact API to expose build state

In order that something consuming an artifact can have access to extra
builder specific data add the State method which allows the caller to
ask for arbitary values by name.
Add support for vagrant with qemu

Once we have produced a qemu VM, we now have the option of using
the vagrant post-processor to create a .box file that can be used with
the vagrant-libvirt plugin.

This uses the new State method of the Artifact API to get necessary
information from the builder.