Ignore false GObject property change notifications

This is related to bug 698275, which did not cover all cases.
The problem here is that the dconf can in certain situation claim
that everything changed (path "/" changed), which GSettingsBinding
propagates to a GObject property unconditionally and GObject's
property setter (g_object_set_property()) also notifies about
the property change unconditionally, despite the real descendant
property setter properly checks for the value change. After all
these false notifications a callback on "notify" signal is called
and possibly an expensive operation is run.

Checking whether the value really changed helps in performance, for
which were added new e-util functions:
   e_signal_connect_notify()
   e_signal_connect_notify_after()
   e_signal_connect_notify_swapped()
   e_signal_connect_notify_object()
which have the same prototype as their GLib counterparts, but they allow
only "notify::..." signals and they test whether the value really changed
before they call the registered callback.
Properly disconnect signal handlers added with e_signal_connect_notify*()

This is a follow-up for the previous commit, where e_signal_connect_notify*()
functions had been added. Due to a different callback and user data being
attached to the 'notify' signal, the g_signal_handlers_*() functions do not
work properly, thus these e_signal_connect_notify*() functions need
a different way for a signal handler disconnect.

A side-change was done in e-settings-web-view-gtkhtml.c, checking for a real
key change from GSettings.
Ignore false GSettings key change notifications

Similar to GObject::notify, the GSettings::changed can be emitted
even if a key didn't change. It's up to the user (aka evolution)
to test for real changes, thus let's do it. It may have certain
performance positive impact too.
Bug 227536 - Add "Message Location" filter option
Bug 730977 - Online state change received in a dedicated thread
Bug 731321 - Missing custom types when loading .ui definition
Bug 668006 - Crash when dragging column headers of Tasks list
Updated French translation
Bug 540362: [webkit-composer] Use webkit for composer

Merge wip/webkit-composer branch into master.
Bug 731416 - [webkit-composer] Busy-loop when replying to an email

Don't try to wrap words that are longer than defined word wrap length,
otherwise we will end in busy loop.
EHTMLEditorView: Replace Tab character with 8 spaces instead of 4
EHTMLEditorView: Skip BR on the end of HTML that's parsed into paragraphs

Do that to avoid unnecessary empty paragraph element.
EHTMLEditor: Fix various bugs in block in/undent

Fix the wrong position of caret when in/undenting empty block and don't
lose spell checked words when in/undenting. Also don't insert unnecessary empty
lines into plain text version of message when processing indented block.
Fix possible crash after migrate of mbox to maildir

Folders can leave notifications in the main loop which would be delivered
on idle, but these can be left in the main loop longer than the temporary
CamelSession object is alive, which leads to a crash, because of
the CamelStore's descendant being freed too early.
tests: capture stdout
tests: don't use pkexec
tests: correctly calculate combobox/textbox pair
Bug 678843 - May re-prompt password on message send

Follow-up fix, forgotten place to re-enable password prompt when
sending message.
tests: don't attach empty stdout / stderr
Bug 731278 - Next message is not selected after move