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
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
Clean VMX step should always remove floppy.

When using the VMX builder its possible for the source machine to have a floppy configured which gets cloned to the new VM Packer spins up. When the new VM's Packer config doesn't have a floppy_files config entry, the Packer clean VMX step fails to remove the floppy disk from the new VM. This can cause build failures, for example with the vsphere post processor; generating errors like:

* Post-processor failed: Failed: exit status 1
Error: File (/home/teamcity/tmp/buildTmp/packer941120499) could not be found.

Opening the cloned VM's VMX file you can clearly see it has a floppy entry from the source machine's VMX file (exact same path) even though the Packer config contains no floppy_files entry.
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.