script for unattended release building

- currently works for FreeBSD and Linux
encapsulate Box struct
support for OSX

- vagrant box is create_dmd_release-osx
- builds 32/64-bit library and 64-bit binaries
support for Windows7

- vagrant box is create_dmd_release-windows
- builds 32/64-bit libraries/tools and a 32-bit dmd binary
enforce exit code == 0
change linux builds to use Debian 6.07

- now 32/64 build on multiarch x86_64
don't delete box on error

- use halt -f instead
- useful for manual inspection
move zip utils to common.d
add shell.exec
diagnostic TODO
move mkdtemp to common.d
create temporary working dir
add fetchFile
download the previous dmd release

- update optlink
- fetch libcurl for windows
- fixup for missing freebsd  dmd.conf files in 2.065-b1
scp recursive by default
move copyFiles to common.d
copy additional binaries from previous release

- those are the closed source tools
- Note: optlink has been updated before this step
  updating other tools would require to edit
  the cached_downloads/dmd.2.065-b1.zip or
  adding code to build_all.d.
add array with all project names to common.d
clone source only on host machine

- copy them to the boxes
- use shallow clones
- clone only a single branch
build create_dmd_release on the box using oldDMD

- combine all zips on the linux box