VCS: Prevent checkout/clone over an existing non-empty directory

Task-number: QTCREATORBUG-11701
Change-Id: Iee87deec59a8abed8930096c53e3c3514a208486
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Git: Factor out commitEncoding

Task-number: QTCREATORBUG-11115

Change-Id: I58f3759c13d963aaf3e7891d7cc0a41c1ae14ecd
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Git: Use commit encoding for interactive rebase and commit editors

Task-number: QTCREATORBUG-11115

Change-Id: Ie922d94d66bed2882d3fc2b8b2de1bdc328d4d1c
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>