Use project name to infer the name of the app

The 'name' field can now be used to customize the name of the generated
application (and its test counterpart). A default application name is
used If no suitable identifier can be inferred from the specified name.

Concretely, this means that the default application name is no longer
`Application` but `DemoApplication` since the default name is `demo`.

Closes gh-60
Add tests for Groovy-based projects

Closes gh-61