[Sys.Data] Add unit tests for Novell bug #519648

These unit tests demonstrate the difference to .NET
(https://bugzilla.novell.com/show_bug.cgi?id=519648).
[Sys.Data] Fix Novell Bug #519648

Don't throw an exception when passing "new object[] {null}" to
DataRowCollection.Find. This makes the behaviour more compatible
with .NET. This fixes bug #519648
(https://bugzilla.novell.com/show_bug.cgi?id=519648).
[System.XML] Add unit test for #18118
[System.XML] Fix handling of global variables in XSLs (#18118)
[System.XML] Add unit test for XSL note-set bug (#18114)
[System.XML] Fix XSL node-set bug (#18114)

XSL node-set function now behaves more like MS version.
[System.XML] Add unit test for XSL value-of bug (#18113)
[System.XML] Fix handling of space in XSL value-of elements (#18113)
[Fix] Bugzilla #18213 - System.Runtime.Caching.MemoryCache doesn't honor SlidingExpiration
Use mktemp instead of $RANDOM to generate unique names

Using $RANDOM is not safe because collisions can occur. An example of
such a failure is available here:
https://s3.amazonaws.com/archive.travis-ci.org/jobs/23572639/log.txt

Using mktemp avoids this issue and removes the dependency on bash.
[arm] Fix some native types issues.
[docs] Schema additions, and monodoc template updates.

- Expanded monodoc-ecma schema to support the 'preserve-mono' attribute, and the attribution tag.
- Added preserve-mono to several pieces of documentation that we would like to preserve across future automated documentation imports: CipherSuitesCallback, ServicePointManager, CultureInfo, Environment+SpecialFolder.xml
- XSL template changes for monodoc HTML generation to support <attribution>
[docs] Import of Microsoft BCL Documentation.
The documentation is creative commons licensed.
[docs] Minor update to monodoc html template.
Handles the case where a bullet list has only a paragraph rather than a term
Merge pull request #1006 from joelmartinez/msdoc-import

Import of Microsoft BCL Documentation
Merge pull request #1005 from ranma42/race-free-parallel-build

Use mktemp instead of $RANDOM to generate unique names
Emit profiler enter/leave instrumentation calls as icalls.

This is more portable than using the mono_arch_instrument_* functions and
thus isn't prone to nasty arch-specific bugs. In particular, the old way
of instrumenting function prologues/epilogues resulted in a somewhat elusive
stack corruption bug on Android (ARM). Eventually, we should get rid of these
functions entirely and only use icalls, with JIT opcodes for special cases
(such as saving arguments for --trace).

This new way of doing things also makes profiler instrumentation AOT-safe,
since we're now going through the proper channels to emit references to the
runtime functions (mono_profiler_method_enter/leave) and to embed MonoMethod
pointers.

Since we're using icalls without wrappers to do this, there should be no
visible performance impact from this commit.
Merge pull request #961 from ermshiperete/bug-xamarin-18118

[System.XML] XSL bugfixes for #18118 #18114 #18113
[genproj] For Path.GetFullPath to work, we must use convert Windows paths to Unix paths
genproj: add support for Alias in project references