Cause MenuDeactivate event to be delivered when appropriate

This is achieved by moving the FireMenuDeactivate call to
MenuStrip.Dismiss and causing it to be called in a couple of places
where it ought to be.
X11: improve handling of WS_EX_TOPMOST

Currently, WS_EX_TOPMOST is handled by making the window transient-for
the root window.  I was unable to find any documentation that indicated
that this would have the desired effect.  Instead, use SetTopmost to
set _NET_WM_STATE to _NET_WM_STATE_ABOVE, per EWMH.

Also, use XMapRaised to raise topmost windows to the top of the stack
when mapped, as a last ditch effort to support window managers that
do not respect _NET_WM_STATE, such as xmonad.

This fixes an issue I encountered when running a winforms application
in xmonad, whereby drop down menus would fail to re-open if windows
had been re-arranged after the menu was first opened (in reality,
the menu was hiding behind the form).
Ignore the gdiplus dllmap on Windows.
Fix Bug 4811, xbuild should find xml documentation
[System] Don't overwrite custom Connection header on HttpWebRequest
[System] Add crude (for now) socket stealing of an HttpWebRequest.

HttpWebRequest is a very tricky piece of code when it comes to its socket, this patch is more like a hack to get something working out of it but it's definitely not the best option.
[System] Implement a first pass of ClientWebSocket.
Improving the retrieval of the user's locale on Apple systems.

The previous behavior used the entire local identifier string that includes optional settings such as variant and calendar format. This returns locales like en_US_POSIX@calendar=buddhist which result in the user's culture being the invariant culture.

This change builds the locale from the language, country code and optional script code so that the locale returned is in the expected format.

This commit is licensed under MIT/X11.
[FIX] Bug 267: wsdl fails with "Argument is out of range."

This fix bug 267
https://bugzilla.xamarin.com/show_bug.cgi?id=267

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@fiducial.net>
Update message
Wrap the code in MONO_BEGIN/END_DECLS
Make sure we properly account for transitive liveness when processing bridge objects. Fixes #13858

We depend on the latent liveness state of objects at the time we collect bridged objects. To
preserve this we must perform the dfs1 step right after collecting them and before we drain the
gray stack or all objects pointed by candidate bridge objects will be marked as alive.
Add test case for xref behavior for the sgen bridge.
Fix the windows build.
Fix the windows build.
Check modifying members of readonly value-type field. Fixes #14802
[linker] Resolve every type references if we're to save an assembly that is not linked (so the scope won't point to assemblies that were removed)
Update cecil sources to latest
Allow workitems to startup faster and reduce polling thread interval in the threadpool.

Deals with xambug #14644 and similar issues.
Optmizes one string comparison.
Remove useless GC.SuppressFinalize