Call ImmutableList<T>.AddRange from ConvertAll and FindAll

Replace any remaining calls to ImmutableList<T>+Node.Add and
ImmutableList<T>+Builder.Add from within a loop to calls to the
equivalent AddRange method
Remove import of System.Linq, reference namespace explicitly.
Fixed wrong typo Automatically -> Atomically
Formalized coding style guidelines.

It is possible to capture most of the coding style guidelines in a corefx.vssettings VS 2013 settings file.

Examples of settings that were not captured: avoiding double free lines, or spurious blank spaces.
Merge pull request #179 from sgtfrankieboy/typo

Fixed wrong typo Automatically -> Atomically
Improve lookup perf on immutable dictionaries and sets

This commit creates a specialized version of ImmutableSortedDictionary`2.Node that setsTKey as Int32.  This allows the implementation, which is used by both ImmutableDictionary`2 and ImmutableHashSet`1, to avoid multiple interface calls per node during lookups, doing the Int32 comparisons directly rather than going through Comparer<int>.Default, which in turn goes through Int32's IComparable<T>.CompareTo implementation.
Change SortedInt32KeyNode.height from Int32 to Byte.

This decreases the size of the SortedInt32KeyNode on both 32-bit and 64-bit by ~10%.
Addressed PR feedback from AArnott

- Changed height calculations to be checked, to help catch any issues with balancing logic
- Removed unnecessary Requires.NotNullAllowStructs calls for keys we know to be structs
- Changed a couple of "left == null" checks to be the equivalent IsEmpty, for readability
Remove several unnecessary comments
Merge pull request #164 from stephentoub/immut_compare_perf

Improve lookup perf on immutable dictionaries and sets
Update buildtools to version 1.0.14-prerelease
Merge pull request #182 from FiveTimesTheFun/buildtools-14

Update buildtools to version 1.0.14-prerelease
Remove AllowUnsafeBlocks as it's no longer needed
Make immutable collection tests portable
Remove commented out code (responding to PR feedback)
Merge pull request #183 from nguerrera/portable-immutable-tests

Make immutable collection tests portable
Remove unused file: PinnedImmutableArrayTests.cs

The PinnedImmutableArray class no longer exists, but the tests for it
sitting in the tree without being pulled in to the .csproj.
Merge pull request #184 from nguerrera/remove-unused-immutable-file

Remove unused file: PinnedImmutableArrayTests.cs
Fix race condition in metadata reader

See http://roslyn.codeplex.com/workitem/299

In the case where a PEReader was backed by a memory-mapped file,
concurrent calls to PEReader.GetMetadataReader were unreliable.
They  led to concurrent calls to MemoryMappedFile.CreateFromFile
on the  same FileStream, which is not safe.

The fix is to use the same streamGuard lock used elsewhere to
avoid concurrent use of the stream.
Fix spelling error in rarely used pre-release API

MetadataTokens.ExportedTypeHandle was misspelled with two o's.

This is of course a breaking change, but this API is still in
pre-release. Furthermore, there are no usages at all of this API
in any partner code that I can find and it is unlikely to be used
yet elsewhere. The API is in the Ecma335 sub-namespace for getting
handles from raw metadata tokens, but most consumers would find
ExportedTypes via the main token-agnostic API.