Add Maven Archetypes for skeleton projects

It's a good idea to have a template for new projects to help users
adhere to best practices for project layout.

Provides:

  * A Java Archetype, `java-simple`, for creating new Java Dropwizard
  projects.
  * A Scala Archetype, `scala-simple`, for creating new Scala Dropwizard
  projects.
  * A utility, `dropwizard-create`, for bootstrapping a new project
  using the Archetypes.

The POM for generated projects will:

  * Generate JavaDoc/ScalaDoc, and build an attached doc JAR.
  * Build and attach a source JAR.
  * Build shaded JAR (optional)
  * Build an executable JAR for the Service.
  * Generate Maven Site

The `dropwizard-create` utility is provided so that users don't have to
grapple with Mavens' appalling UI for generating projects from
Archetypes. It ensures that all the necessary properties are provided to
the Archetypes and provides some sensible defaults for the lazy.
Merge branch 'master' into feature/maven-archetypes
Update archetype POM versions to latest

Keep things in sync with Dropwizard until merged.
Fix incorrect version variables

Both archetypes were generating POMs without resolving values for
`dropwizard.version` or `scala.version` (in the case of `scala-simple`).

We should use the current project version as the `dropwizard.version`
for generated projects, and `2.9.1` for the `scala.version` of Scala
projects.
Use incremental compiler for Scala projects

For Scala projects, we should use the Zinc incremental compiler. If a
Zinc server is currently running (on the default port) it will be used
automatically to further improve compile speed.
Update scala archetype to scala-maven-plugin 3.1.0
Merge branch 'master' into feature/maven-archetypes
Update Maven Archetypes for Dropwizard 0.6.0

Synchronises version POM numbers with upstream change.
Remove weird resource blocks in archetype POMs

These sections serve no purpose other than add confusion. Must have been
smoking something strange at the time.
Made dropwizard-create a filtered resource

The project version is now adopted from the project POM, rather than
being hand-coded. The script is built as part of the project's _package_
phase.

To install the script, build the project and put it on your PATH:

    $ mvn package
    $ cp ./dropwizard-archetypes/target/classes/dropwizard-create \
      /usr/local/bin/

This will ensure the script defaults to the current project version.
Fix incorrect version for dropwizard-create

When asked to print the program version (using the `--version` option)
`dropwizard-create` was printing the default generated project version
(_0.1.0-SNAPSHOT_) instead of the Dropwizard version.
Merge branch 'master' into feature/maven-archetypes
Merge branch 'master' of https://github.com/codahale/dropwizard into feature/maven-archetypes
Revert "Remove weird resource blocks in archetype POMs"

This reverts commit 986ac9fd8d78ffd9d5b455d65ee7218b3aef4d97.

Figured out what these sections are for: they include all the other
resources in our archetype (which we need) but disable filtering for
everything except the `pom.xml`.
Upadate Archetypes for Jackson 2.x

The package name has changed from `org.codehaus.jackson` to
`com.fasterxml.jackson`.
Update Archetypes for new Bootstrap

Now provides skeleton classes compatible with 0.6.0
Add archetype integration tests

Generates 4 projects:

  * 2 for the `java-simple` archetype
  * 2 for the `scala-simple` archetype

The two projects generated are:

  * *ordinary* - a standard project based on the archetype
  * *shaded* - a project based on the shaded variant of the archetype
Fix IntelliJ trying to parse archetype templates

IntelliJ automatically adds the `resources` of a project as a content
root, making it include the `*.java` and `*.scala` template files of
each archetype.

Since they're full of velocity template variables, they fail to compile
and IntelliJ complains.

To fix this, we introduce a new required property: `language`, which is
used as the file extension for these templates when the project is
generated.

The default value of this property is defined by the archetype itself,
so it's not necessary to define it when generating the project.
Shorter name for Archetypes module
Changed Archetypes to test usine invoker plugin

The archetype integration tests were broken and inflexible. Instead,
lets use the generic `maven-invoker-plugin`. This allows us to sandbox
each integration test with its own M2 repo and execute arbitrary goals
against it, including an initial `archetype:generate` to create it.

Also cleans up some common code from the archetype POMs in to their
parent.