lib: Don’t close the server socket immediately when stopping the server

If we do, it’s possible for the final iteration of the server’s main
loop to process an incoming packet and to reference a NULL socket
pointer. Instead, use the more conventional soup_server_quit() call, and
allow the socket to be closed when the server is destroyed, which should
always be shortly afterwards because UhmServer completely controls the
lifetime of the SoupServer.

https://bugzilla.gnome.org/show_bug.cgi?id=731040
lib: Make SoupServer usage thread safe

SoupServer is not inherently thread safe, so we must marshal all calls
to it through the main context of its worker thread.

https://bugzilla.gnome.org/show_bug.cgi?id=731040