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>