builder/docker: boilerplate
plugin/builder-docker
main: Default config has docker
builder/docker: pull images
builder/docker: tests for some exec stuff
builder/docker: start a container
builder/docker: a non-working communicator
builder/docker: Remote execution works!

/cc @mwhooker - WOW. By luck, I had a hunch that maybe something like
this might be going on based on straces I was reading. Check:
https://github.com/dotcloud/docker/issues/2628

Anyways, this works now. No more blocker!
builder/docker: fix upload for copy to work
builder/docker: comment the sleep on remote exec
builder/docker: command output and exit codes work

/cc @mwhooker - CCing you on this because it is also ridiculous. See the
big comments
builder/docker: remove the exit code file when we're done
builder/docker: export the final image
builder/docker: Communicator.Start doesn't block
builder/docker: perform cleanup in run method, not prematurely
builder/docker: config validation test
builder/docker: test StepTempDir
builder/docker: StepPull test, driver abstraction for tests
builder/docker: StepRun tests
builder/docker: StepExport tests