Clean up SQLite connect error handling

Do not assert on broken setup such as non-writable paths.
Try to always return a sensible error message.

Also avoids infinite connection fail/reconnect loops in release mode
when the configured database path can't be written to.

Fixes #125
Qt5: Fix Task delegate painting

Remove TODO: check() is doCheck() now, that's it.
Make it const
Catch exceptions by const reference
Avoid Qt4 vs. Qt5 code duplication

Move ifdef into single function
Make const
Remove question before import

Do not ask if the user "wants to modify M and add N tasks" but just
import and show the result. I can't see any point in asking the user
without showing details. All this question creates is confusion.
Remove stale settings

If there's no value for a given key, clear it.
This avoids mixing old settings with new (incomplete) ones.
Do not assert that file exists

It's a bad idea to assert on things we can't control.
Also, this case is handled by the TaskExporter.
minor: isEmpty() instead of count() == 0
Avoid temporary file when importing downloaded tasks

Make it possible to import the downloaded XML data directly.
Remove define

Don't use a public macro for what can be a
private variable.
Use const ref.
Move summary calculation out of UI code
Fix window title for download task definitions dialog

Fixes #124
Merge pull request #127 from frankosterfeld/work/125

Clean up SQLite connect error handling
Merge pull request #128 from frankosterfeld/work/qt5-taskpainting

Qt5: Fix Task delegate painting
Merge pull request #131 from frankosterfeld/work/124

Fix window title for download task definitions dialog
Merge pull request #130 from frankosterfeld/work/cleanup

Work/cleanup
Update qtkeychain

Update to master@49479aa3

Adds gnome keyring support