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
Initialize cookie container for default requests. Fixes #14783
Fixes compilation error on Mavericks
Reenable accidentally disabled test
Better checks for inaccessible member used via dynamic proxy. Fixes #14762
[sgen] Fix a thread startup deadlock on POSIX.

If the GC stops the world and a thread is in the process of starting
up, but has not yet registered (it's not in the thread_list), it is
possible that the thread does register while the world is stopped.
When restarting the GC will then try to restart said thread, but since
it never got the suspend signal, it cannot answer the restart signal,
so a deadlock results.

This is triggered by `tests/sgen-bridge.cs`, about once every 10 runs.

We solve this by using a negative value in the `signal` field in the
thread info to indicate threads that have never been suspended.
[MSBuild] Fix the ${level} and ${number} capture.

Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=14767

	Some people, when confronted with a problem, think
	“I know, I'll use regular expressions.”   Now they have two problems.
	- http://regex.info/blog/2006-09-15/247

ToolTask uses a regular expression to extract various bits of
information from the warning/error message. Unfortunately it was
inadequate, and didn't correctly match on some errors.

The error message in this case is:

	class1.cs(16,4): error CS0152: The label `case 1:' already occurs in this switch statement.

The problem was that while the previous regular expression would
succeed in matching the above string, it was horribly inaccurate in
what it captured:

	${file}   = "error CS0152"
	${line}   = "16"
	${column} = "4"
	${level}  = "The"
	${number} = "label `case 1"
	${message}= "' already occurs in this switch statement."

Did I mention hilariously wrong?

There were two problems with the previous pattern:

 1. It allowed filename+(line,column) to be _repeated_, which is
    clearly insane. Filename/etc. shouldn't be repeated.

 2. ${number} captured ".*\d", i.e. anything ending with a number, so
    when the message had a number embedded within it, it was captured.

For good measure, use RegexOptions.IgnorePatternWhitespace so that
we don't have a horrendously long regex pattern to compare for diffs
the next time this needs fixing, and add NUnit tests.
[System] Fix the CSharpCodeCompiler error parsing regex.

Use the same regex as xbuild uses for error parsing; see 7a2d2c24.
Add a section to the README on how to submit bug reports.
Fix the build.