Don't assert Message-ID was decoded for non-empty string: Bug #740049

If Message-ID string is "<>", then no Message-ID will be decoded even
though the string itself is non-empty.
Dynamically detect when running under Unity: Bug #737258

This removes the --enable-unity ./configure flag in favor of detecting
the UI shell at runtime.
Merge branch 'master' into wip/737642-uint