Not shelling out for docker

TODO:

- [x] allow users to specify docker registry creds per `Bobfile`
- [x] do push commands still need to be queued like they did if we were shelling out? 
  * *turns out they don't - hooray!*
- [x] update this comment indicating which github issues this addresses
- [x] document the new stuff

This pull request addresses the following issues:

- https://github.com/modcloth/docker-builder/issues/23 - removing some `os/exec` commands (ongoing)
- https://github.com/modcloth/docker-builder/issues/83 - issue with `queued-command-runner` causing error messages to appear in the logs
- https://github.com/modcloth/docker-builder/issues/84 - make sync build wait for `docker push`
- https://github.com/modcloth/docker-builder/pull/88 - have job processing wait for asynchronous job to finish (related to #84 and #83)
- https://github.com/modcloth/docker-builder/issues/91 - use docker's `tailfile` package instead of `os/exec` to `tail -n`
- https://github.com/modcloth/docker-builder/issues/93 - server stops pushing after a while
Any way we could create an interface that `exec.Cmd` and `parser.TagCmd` satisfy (perhaps wrapping `exec.Cmd` in something)? Feels better than pattern matching from a type safety point of view.