Remove dead code that could slow down enumeration.

The SecurePooledObjectUser struct was previously used as part of a 'thread safe' design for recycling stacks used for enumeration of tree-based collections. But the thread-safety effort was imperfect and removed a while back. The empty struct remained as a simple way to avoid having to make several changes to callers.

Stephen Toub recently was looking over the code and pointed out that this leftover code causes the C# compiler to emit try/finally blocks and call no-op code which may be slowing down enumeration, which is a hot path in many scenarios. So taking time to remove it now seems prudent.
Fix to build correctly if the repository root has spaces. For example: "C:\Program Files (x86)\repos\corefx"
Another optimization for ImmutableArray<T>.Builder.Sort to not create Comparer Wrapper for arrays of size 0 or 1
Added a check for array size in the sort methods before the wrapper gets created
Added a testcase to exercise sorting of 1 element array
Merge branch 'PerfTuning'
Merge branch 'master' of https://github.com/dotnet/corefx
Add test coverage for XPath and XDocument
Clean up Xml directory structure
Rename binary of System.Xml.XPath.XDocument tests
Update dependency to Microsoft.DotNet.BuildTools 1.0.13-prerelease

Build tools 1.0.13 has Nick's commit b7c62ee.. which builds each
assembly in to its own intermediate directory.  This is required
to fix a bug where XML tests would fail if they were rebuilt without
the workspace being cleaned because they would pick up incorrect
versions of resource files.
Fix spelling error in System.Reflection
Remove System.Collections.Immutable.xml from under the nuget folder
The documentation in this file is written by technical writers and does not come from the xml comments in the library. The nuspec file uses the xml generated by the library and not this one. Removing the file.
Update the Appveyor Status Badge.

Currently the status badge points to all the builds triggered in the Appveyor including the Pull Request builds. So if a PR build fails the build status on readme.md will show failure. This change will make the status badge in readme.md to point to the latest build on the dotnet/corefx master branch (excluding the PR builds).
Update .gitignore

- MonoDevelop generated files.
Typo fixes in MetadataStringDecoder
Merge branch 'master' of https://github.com/dotnet/corefx
Significant enumeration perf improvements for immutable lists, dictionaries, and sets

These are the approximate improvements I see on my machine when enumerating various
immutable collection types of length 0, 1, and 1000.  The numbers are old
time divided by new time...

ImmutableList:
    Empty - 1.6x
    Single element - 2.2x
    1000 elements - 2.9x

ImmutableHashSet:
    Empty - 1.3x
    Single element - 1.7x
    1000 elements - 1.6x

ImmutableSortedSet:
    Empty - 1.9x
    Single element - 2.5x
    1000 elements - 2.7x

ImmutableDictionary:
    Empty - 1.2x
    Single element - 1.6x
    1000 elements - 1.4x

ImmutableSortedDictionary:
    Empty - 2x
    Single element - 2.5x
    1000 elements - 2.75x
Address CR feedback on previous commit
Merge pull request #135 from stephentoub/immutable_enum_perf

Perf improvements for enumerating immutable collections
Merge pull request #134 from jzebedee/master

Typo fixes in MetadataStringDecoder
Merge pull request #133 from soimort/update-gitignore

Update .gitignore