Additional feature, refactoring and improvements

Hi Aslak,

I wanted to get the ball rolling with the functionality we have so far. As the next step, I wanted to bring up the current status for discussion on the Gradle forum. For that purpose, I created the pull request.

_The current features we have so far:_

* Expose extension properties for configuring the plugin from the build script.
* Expose container tasks for starting, stopping and running the container (including deploying and un-deploying an artifact).
* Preconfigure the deployable artifact by determining the nature of the project (WAR, EAR...).
* Automatically retrieve container adapter dependencies through the `container.json` definition.
* Added some unit tests.
* Started documenting the work.

_The next steps should include:_

* Looking over the existing DSL.
* Completing the existing `container.json` with dependency versions and proposed additions.
* Write an extensive integration testing suite that tests all possible containers.

_Note:_ So far I mainly tested with the embedded Jetty container implementation. Some of the other containers failed for me (potentially because of missing/wrong dependencies etc).