Make box creation not cross filesystems.

This will cause issues on modern linux which uses a tmpfs-backed tmpdir.
Add test for invalid box file

Filled in pending test. It creates a valid tar file, over-writes the
checksum field in the tar's header and then checks that the
BoxUnpackageFailure exception is thrown.
Private key path is put into quotes in case of space-including username.
Update year in LICENSE
Create the setup_version file to track our directory layout version
Return exit status of 1 on invalid command

Makes "vagrant destroyjj" and similar return an exit code of 1, so that
"vagrant destroyjj && vagrant up" works as expected.
Remove the development version warning
Switch to bsdtar for unpackaging a box
Fix repackage command to actually work properly
Use bsdtar to repackage boxes
`vagrant package` uses bsdtar
Remove archive::tar::minitar from tests
Remove archive-tar-minitar dependency
Warn if Vagrant is run outside of installers
Typo in setting up synced folders
Add new middleware builtin: Lock

This will do a process lock by flocking a file. If it fails, it will
raise an exception of choice.
Allow path and exception for Lock middleware to be procs
Unlock the file explicitly due to some weirdness on BSD kernels
vagrant destroy --force works [GH-1340]
Forced halts work