[bcl] Add 4.0 and 4.5 defines to monodroid's bcl.
[corlib] Handle overflow correctly in Timer to avoid spinning. Fixes #8782

	* Timer.cs: Very long timers can lead to timeout values that are
	bigger than Int32.MaxValue, leading to a negative value and us
	spinning.
Merge remote-tracking branch 'upstream/master'
Document the Visual Studio csproj and .sln generation, tidy up/fixes. Getting ready for a pull request.
Merge pull request #517 from getsometoast/master

[System.Data.SqlClient] Support for "Connection Lifetime" parameter
minor refactor for solution files names generation
MOBILE now builds with 4.0 enabled but its version remains 2.0.5.0.

	* Consts.cs.in: We must check for mobile before 4.0 to make sure
	we don't end up with a 4.0.0.0 mobile BCL.
Allow array fields with marshal descriptions in can_marshal_struct (), so PtrToStructure/StructureToPtr wrappers are generated for them when using full-aot. Fixes #9408.
Applied patch from Tal Aloni <tal.aloni.il@gmail.com>. Fix building with VS2010.
[msbuild] Fix import set to expected path when invalid imports are allowed.

It was failing to resolve <Import> to correct path because it allowed
invalid imports too early in Import.ForEachExtensionPathTillFound().

It is due to Project.AddSingleImport() that checks if invalid imports
can be ignored by load setting. But simply removing this check results
in regressions in nunit tests that fails to report required invalid imports.

This bug was one of the blockers to build fsharp-droid from xbuild:
https://github.com/fahadsuhaib/fsharp-droid
[sgen] Binary protocol entry for card scanning.
[sgen] More information in describe_ptr(), and unify with describe_pointer().
[sgen] Bugfix: When scanning mod table, follow major->major references.
[sgen] Add a missing binary protocol call.
[sgen] Bugfix: Actually sweep blocks when doing concurrent mark.
[sgen] MONO_GC_DEBUG option for checking mark bit consistency.
Add beginnings of a tool to dump the contents of .mdb files. Currently, only the line number tables are dumped. Not yet part of the build.
Correctly handle clock going back in time when caching datetime and timezone information. Fixes #8504.

	* DateTime.cs:
	* TimeZone.cs: The caching code should take into account the possibility of the clock
	going back in time.
[sgen] Don't report that we need a major collection while one is in progress.

This caused us to stop the world unnecessarily during concurrent
collections, only to realize that nothing needed to be done.
[sgen] DTrace probe for when a GC is requested.