Bump mono to 3.0.4
[profiler]Explicitly include <sys/syscall.h> when using perf on linux.

	* proflog.c: We include it to fix mobile builds as the definition was missing otherwise.
[bcl] Build System.Data.Services.Client monodroid profile in the same way we do the monotouch one.
[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.