Enables creating a project and template directly from command line param...

...eters (no dialog needed). Keeps the dialog if no params given.

This PR enables two ways of generating projects from the command line:
**./activator new projectName templateName**
or
**/.activator new**

The former will try to create a project name _projectName_ with the template _templateName_. The latter opens up a dialog which queries the user for a project name and template to use.

The above will fail, regardless of what way is used, if the project name already exists or if the template name given does not match an existing template. This has been changed from before where one could re-use the project name (however the old template would not be overwritten). Furthermore an approximate template, based on matching characters from the input on the templates, would be selected if there was no match.

Some refactoring has also been made to split the code up into more methods than before to enable better reuse from the two alternative ways of generating a project.