Transaction now has limited support for PromotableSinglePhaseEnlistment

System.Transactions.Transaction is only partially implemented, and was lacking support for enlistments of type PromotableSinglePhaseEnlistment.
Specifically, this prevented usage of Npgsql with the ambient transactions feature (TransactionScope).
Fix the build.
Fix the linux build as it does check even from private glib symbols.
Remove an unused field from DebuggerTlsData.
Remove the last #ifdef HAVE_SGEN_GC from gc-internal.h
Remove sgen dependencies from marshal.c
Remove the unused HAVE_WRITE_BARRIERS define.
Reorganize libmonoruntime_la_SOURCES to make it clear which files have compile time GC dependencies.
Make sgen-fin-weak-hash.c a proper module.
Allow the SortedList unit tests to be built with NUnitLite (MonoTouch)
Merge back MonoTouch changes inside the linker/tuner code
[Fix] Support to wave sound file under linux

Some wave file had a 'fact' chunk in header's data.
This is specified for non-PCM format but some PCM wave sound file could have one.
These kind of file are played well by System.Media.SoundPlay on win32 system but no
sound is played at all on unix system because the 'data' chunk is not found. This
patch adds support for wave file which have this optional 'fact' chunk in header's data.
It's also read chunk data according to the chunk size.

Signed-off-by: Florent Valette <florent.valette@gmail.com>
[Mono.Posix] Add Syscall.getgrouplist().

Merge branch 'master' of git://github.com/alexeymoiseew/mono into alexeymoiseew-master
[Fix] Advanced Linux Sound Architecture (ALSA) configuration in class AudioDevice.cs

Improve the configuration of the Alsa hardware parameters.
The buffer and chunk size are set to the best suitable size according to wave file
caracteristic, i.e., format, channel and sampling rate.

Add Alsa software parameter.
Alsa becomes in Ready State as soon as there is a data chunk in its ring buffer.
Alsa starts playing data as soon as its buffer is full.

Add a UnderRun recovery method while playing a sound. When a underRun occurs, Alsa
layer need to be re set to Ready State (by calling snd_pcm_prepare) and the data chunk
is re send to Alsa.

Signed-off-by: Florent Valette <florent.valette@gmail.com>
Revert "Increased waiting time for the certificate authentication from 100 ms to 1000 ms. Because it was not enough for some kind of requests."

This reverts commit 592cdb463ba89cef6943962df5409177710d62d9.

This isn't required for Syscall.getgrouplist(), and should be part of
a separate pull request.
[Mono.Posix] Fix whitespace.

Reduce whitespace changes from master.
[Fix] AudioData(wav) play performing badly under Linux

Fix bug and improve performance of audio data play methode :
- Read only wave/Au raw data from Stream unstead of the whole file
- Play Sound chunk by chunk (chunk size compute at AudioDevice.setFormat call)
this is the best size compute by alsa for the hardware (better than the 4kB arbitrary size)
- Fix the chunk size to play. For Alsa, this size is in fragment, a fragment is one sample per channel
- count the data which are really play by alsa (snd_pcm_writei return a fragment size) and the next
chunk from that count.

Signed-off-by: Florent Valette <florent.valette@gmail.com>
Fix TaskFactory::FromAsync for methods that completed synchronously.

Don't call InnerInvoke() a 2nd time if the 'Begin' method that
completed synchronously already invoked the callback.
Emit WebAsyncResult's callback on same thread on sync completion.

This fixes System.Net.Http.HttpClientTest.Send_Content_Put ().
Quiet some automake warnings.