app: Add fallback setStyleSheet() when running tests

The non-GUI code path is used by the tests.  setStyleSheet() is not
available fromm QCoreApplication so provide a stub.

Signed-off-by: David Aguilar <davvid@gmail.com>
settings: Provide default values to simplify the implementation

We were catching KeyError in a number of places to account for the fact
that the user's ~/.config/git-cola/settings json file may have missing
keys.

Instead of doing that, provide a default dictionary that we update with
the contents of that file.  This allows us to safely assume that the
keys are always available.

Signed-off-by: David Aguilar <davvid@gmail.com>
settings: Auto-remove repositories from the "Select Repository" dialog

Adjust the settings reader so that it skips over entries that no longer
exist.  This is done for both bookmarks and the recent repositories
list.

Closes #145

Signed-off-by: David Aguilar <davvid@gmail.com>
settings: Tighten the "repo exists" check

Instead of checking for existence, check that the bookmarked or recent-
repositories list contains git worktrees only.

Signed-off-by: David Aguilar <davvid@gmail.com>