update the edit dialog to remove shortcuts conflicts
display shortcuts conflicts directly in the dialog.

shortcuteditdialog take 2 new optionnal arguments:
* conflictCallback: a function or methode that return a shortcut
conflict name.
* cbArgs: the optional arguments to pass to conflictCallback
add a _num attribute
comment lines that remove the Shift modifier

with its lines when a special character is pressed (é, è, ç), the
equivalent of a QWERTY keyboard is sent.
add "setShortcuts" method
replace "editAction" by "findShortcutConflict" and "removeShortcuts"
add the findShortcutConflict method
set default shortcut to None if it is an empty list
remove unused import
fixes a bug when the preference is reset.
Merge pull request #239 from elmamyra/import-export-theme

fixes a bug when the preference is reset.
Deal gracefully with missing Git installation

When Frescobaldi is run from a Git repository but Git isn't installed
Git functionality is simply deactivated (_app_is_git_controlled is
set to False).
The user sees a message box (instead of an unhandled exception).

This patch is only tested on Linux
Merge pull request #240 from uliska/fix-non-git

Deal gracefully with missing Git installation
vcs: let _run_git_command use base command from Preferences
vcs: Reshape app_is_git_controlled check

The check now _uses_ app_repo's function (in order
to be able to use the command from Preferences).

Therefore I moved the creation of the app_repo object
inside the one-time check of app_is_git_controlled.
vcs: Fix missing else clause in app_is_git_controlled()

Taking an idea from Davide in
https://github.com/wbsoft/frescobaldi/pull/240#issuecomment-26712555
Merge pull request #241 from uliska/git-executable-preference

Add Preference for Git executable
vcs: Add reference to Preferences to the no-git-found message box
Merge pull request #245 from uliska/improve-no-git-message

vcs: Add reference to Preferences to the no-git-found message box
Merge pull request #238 from elmamyra/shortcuts-conflicts

show shortcut conflicts directly in the shortcut dialog