Revert "Revert "Merge branch 'master' of https://github.com/mono/mono""

This reverts commit 8f09dad4353bb75afebf96ad58d08f7e7f3bf56d.

8f09dad4353bb75afebf96ad58d08f7e7f3bf56d is reverting a merge commit,
which will not do what you think it does. It will revert much more,
so revert the revert to get back the unintentionally reverted commits.

It looks like the next commit (1a15d4ec541eaf20ed78eac53149b1b83e1450fe)
is doing the original intention (reverting 164f9cbec4f79cc013c7b1cf674e70e4573f4b36),
so this revert will leave the tree in a good state, with no pending
reverts.