Rewrite e_load_book_source_async().
This is a late libedataserverui API break, but so be it.
Rewrite e_load_book_source_async() to use a GIO-style asynchronous
pattern, and add a corresponding e_load_book_source_finish().
The API is fairly obvious:
void e_load_book_source_async (ESource *source,
GtkWindow *parent,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
EBook * e_load_book_source_finish (ESource *source,
GAsyncResult *result,
GError **error);
This also eliminates the thread for loading EBooks from ENameSelector.