Provide task to stage output in a format sufficient to build Docker images.

This creates a new docker config, and updates the stage task to create
a Dockerfile which can create an image capable of running an application.
It works with basic Java applications, and basic Play 2.2 applications.
Updated Docker code.

Adds dockerPackageMappings which contains mappings specific to Docker build - defaults
to reading from sourceDirectory/docker (overrideable).
Builds mappings from dockerPackageMappings and universal:mappings (overrideable).
Modifies "docker:stage" command to build a Docker context and Dockerfile from
docker:mappings.
Fix sbt scripted test for Docker
Updated changes for Docker extension to sbt-native-packager

- Trait DockerPlugin should not extend DockerKeys
- publishArtifact in Docker is false - do not generate POM/etc.
- Tasks for stage do not depend on each other.
- Change the CWD in the Docker container to install location.
- Adding Docker-specific mappings happens outside mapGenericFilesToDocker
- Use defaultLinuxInstallLocation instead of defaultDockerInstallLocation
- dockerBaseImage is set outside Docker config, easier to override
Merge pull request #236 from garycoady/docker

WIP: Provide task to stage output in a format sufficient to build Docker images