Several improvements to build speed and handling of symlinks

Sorry for the pretty large PR, but I was wondering if you would be interested in merging some changes that we have been using. This PR adds the following features:
 - Image creation can optionally be separated into two parts: A (rarely changing) `baseDockerImage`, which contains transitive dependencies and other container environment, and a `dockerfile` which contains only the jars for your project.
 - SBTs internal caching mechanism is used to augment docker's when building images. This feature can avoid sending lots of data to the docker daemon when nothing has changed
 - A new command `addCompressed` is added to `DockerFile`.  This command uses `tar czf` to create an archive that is shipped to the docker daemon.  Unlike the normal `add` command, this command correctly handles symlinks.