[Bug 16334] Fix ConcurrentBag.TryTake and TryPeek

Should return false if no result in all cases

see https://bugzilla.xamarin.com/show_bug.cgi?id=16334
ConcurrentBag staging could become empty

after all items have been removed from a bag, the staging dictionary
is cleaned up but never filled again.
Add Unit tests
Merge pull request #811 from criteo/16334-ConcurrentBag

[Bug 16334] Fix ConcurrentBag.TryTake and TryPeek
Fix the encoding of x86_imul_reg_mem_imm.
Disable a corlib test which hangs on windows.
[sgen] Add minimal mingw64 support.
[Mono.Data.Sqlite] Fixed for Windows .NET 4.0

Thanks to Joe for the patch.

Fixes bug #2148
[mcs] Dynamically calculate size of flow-analysis bitset. Fixes #4210