core: new project wizards: use the java project i.s.o. the plain project

This is needed so that the ignores functionality can access
the java build path of the project and generate ignore files
based on that information.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
core: put default project paths into exported ProjectPaths

The ignores functionality needs this information.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
core: add versioncontrol packages

It's split into 2 packages to prevent a class cycle once
the preferences are hooked up.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
core: add version control preferences for ignore functionality

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
core: hook up VersionControlUtils to the preferences

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
core: setup ignore files during cnf setup

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
core: setup ignore files during project setup

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
core: let the ignores functionality detect the version control system

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
core: add some comments in VersionControlSystem

To make clear what code has to be modified to add
support for more version control systems.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
core: move some code around in VersionControlSystem

To keep the code together that has to be modified to add
support for more version control systems.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>