SOUP_STATUS_IS_SUCCESSFUL(soup_session_send_message()) sends message twice

The definition of SOUP_STATUS_IS_SUCCESSFUL(status) is
	((status) >= 200 && (status) < 300)

So if we actually pass the function call as the 'status' parameter of
the macro, it's going to get called twice, and thus the message will
be submitted twice.

This is obviously suboptimal, and it actually breaks with the GSSAPI
 hacks, because the second submission just keeps the same Authorization:
header that was on the message last time, and that's seen as a replay
attack by the server.

(cherry picked from commit aa4f35dee7b04f7f858c17e728cbd6b0fd938984)
Bug 733663 - Do not attempt to subscribe to GAL changes

(cherry picked from commit 63aa1a589e36bafd07679c2e6be9f341d375914d)
Bug 732850 - Remove reachability check from ews_store_query_auth_types_sync()

The auth method discovery code first checks whether the "host" is
reachable. This will always fail because it only sets its Host URL for
the service, and the camel code relies on the host and port itself being
set before it can answer that question.  Even after setting the host and
port, it is necessary to give the underlying system time to query the
network service.  So this check should not be done at all.

[dwmw2: The check is entirely redundant anyway. Even after we rip it out,
        I've confirmed that we still get coherent errors reported in the
        UI, telling us that we were unabled to resolve or reach the server.]

(cherry picked from commit f392e0b225f77c4f8d670b5ad9ff3016a7ef94b5)
Bug 732850 - Not all message restarts are due to a redirect

Not all reposts are due to redirects, so the post_restarted callback
should check the message status before assuming so.  In this case,
reposts happen because of GSSAPI negotiation.

[dwmw2: The primary motivation for fixing this was apparently because of
        the bare 'printf' in it. Perhaps *removing* that might also be
        appropriate...]

(cherry picked from commit 00d3d92ffdd50caac1fa80a083a0d38c5bfcdb5c)