fixes #2671, add support for bind mounting individual files in to containers, rebases of #1757 #2301
Refactor Opts
Format main()
Change the default Host affectation to not rely on slice
Add proper dockerinit path support for distros that use FHS 2.3
split in 3 files
Merge branch 'master' into refactor_opts

Conflicts:
	commands.go
Make volumes opts more strict
add progressbar and time
fix display on test
add test
re-word the help for docker import to make it clear that this will be an empty image containing only the files in the tar file
Catch SIGQUIT for cleanup
Split auth on first colon
Only return published ports for docker port
Merge branch 'master' into handle_sigquit

Conflicts:
	server.go
Remove "-v" from "go test" (since it's easy to add back via TESTFLAGS)
Update Dockerfile with all-caps INSTRUCTIONS (as explained in docs as being "convention": http://docs.docker.io/en/latest/use/builder/#format)
check on the client side that there is a Dockerfile, so we don't upload a huge stack of files, only to realise we can't do anything
Make docker build return exit code of build step

If a command during build fails, `docker build` now returns with
the exit code of that command.

This makes it necessary to change the build api endpoint to
return a json object stream.