Improve async dialog handling

Some further changes to the new "AsyncDialogFragment" system which I created (see e.g. #543) so that AnkiDroid doesn't crash when trying to show a `DialogFragment` after an `AsyncTask` finishes.

* Make arguments to async dialogs not tied to notification system. Previously it was required that the user open the app via the notification, or else the dialog would not be shown to the user when they resume the app.
* Add preference to disable notification system as per the Android guidelines
* Make DatabaseErrorDialog async to prevent crash on basicCheck failure during sync (fix [issue 2355](https://code.google.com/p/ankidroid/issues/detail?id=2355))