Fix e_book_backend_summary_is_summary_query()

It didn't check on correct summary fields being used, but on a result
of the expression, which is not correct when there comes a 'not' in it.
This broke "Unmatched" filter in evolution's Contacts view, which is
testing nonexistence of a CATEGORIES attribute in a vCard.
CamelStore: Add a "folder-info-stale" signal.

This signal indicates significant changes have occurred to the folder
hierarchy of the CamelStore, and that previously fetched CamelFolderInfo
data should be considered stale.

Applications should handle this signal by replacing cached
CamelFolderInfo data for the CamelStore with fresh data by way of
camel_store_get_folder_info().

More often than not this signal will be emitted as a result of user
preference changes rather than actual server-side changes.  For example,
a user may change a preference that reveals a set of folders previously
hidden from view, or that alters whether to augment the CamelStore with
virtual Junk and Trash folders.

This increases sizeof(CamelStoreClass) and its descendants, therefore
the libcamel shared object name has been bumped.
CamelIMAPXStore: Try harder to track settings.

Connect a "notify" signal handler to a newly-installed CamelSettings
instance, and emit a "folder-info-stale" signal for certain settings
changes that would ordinarily require an application restart.

Specifically, listen for changes to:

    "use-real-junk-path"
    "use-real-trash-path"
    "use-subscriptions"
Add a desktop file for Ubuntu Online Accounts.

This is required for E-D-S to show up in the Ubuntu Online Accounts
configuration UI.  It's only installed when built with UOA support.
UOA: Add service-specific descriptions for E-D-S.

This causes each service for a provider to be listed separately in the
Control Center UOA panel, with an independent switch for each service.
More consistent error messages for missing opt dependencies.
EBookBackendLDAP cleanups.
CamelFilterDriver: Remove ":filter" debug messages.

There's not enough debugging output here to be useful, the debug key
syntax is weird, and I'd like rewrite filter logging to be activated
by CAMEL_DEBUG=filter and give each output line a prefix that's easy
to isolate with grep.
Updated Spanish translation
Bug #682322 - SIGSEGV in pop3_folder_refresh_info_sync
Bug #697598 - [imapx] Freeze due to calling thread join from main thread
Allow automatic NTLM authentication unconditionally

As part of bug 703181 we retested imapx+NTLM authentication, and it seems
that the NTLM SASL mechanism wasn't allowing the ntlm_auth helper to be used
unless its ->try_empty_password_sync() method was called.

That made sense when this support was first added, since the logic in the
back end would go something like:

  if (try_empty_password())
    { /* Try it and return OK if it worked */ }
  demand_password_from_user()
  ...

However, the setup of the authentication is now different, and the imapx
back end (for example) doesn't even *care* about the password. Adding an
artificial call to camel_sasl_try_empty_password_sync() into the imapx code
seemed like the wrong thing to do; it should be enabled *automatically*.

So do that: try to set up the ntlm_auth helper in sasl_ntlm_challenge_sync()
if we are invoked with no password.
Bug #703053 - Error on setting reminder 'after start of appointment'

As EWS doesn't support setting 'after start' reminders, let's create
a new capability to help us when we should avoid to show the option
to the user
GError instance use-after-free in collection_backend_load_resources()

The function uses a shared GError instance in a cycle, and on error
freed the instance with g_error_free() which left the pointer set,
only populated with freed memory, thus the next round, when it eventually
loaded correct source, the function thought it ended with an error
and a GSlice allocator aborted on the g_error_free() call. Resetting
the error variable to NULL after free (by using g_clear_error()) fixes
the crash.
Bug #700894 - LDAP 'Copy for offline' blocks online searches
Bug #703194 - Custom alarm message is REMINDER
Avoid a crash in cal_backend_add_cached_timezone().

Apparently icaltimezone_get_tzid() can sometimes return NULL.  Check for
NULL before we use it in a hash table lookup, which crashes on NULL keys.

Add a similar check to ECalClient for consistency.
[IMAPX] Server connection is not mandatory when searching folder content

In case the store is kept online, but the server cannot be reached,
like when it's hidden behind the VPN, the IMAPX folder should show
offline content, rather than nothing at all. After all, live server
connection is needed for body-contains only, and only that to not
download all messages in the folder.
e_book_backend_sqlitedb_has_contact() used nonexistent column

The function used partial_content column of a respective folder table,
but this is not available anymore, and references to this column are
also no-op these days, thus I made this use the 'uid' column instead.
The failure broke contact removal in evolution-ews.
Add new symbols to API documentation.