Add thread-safety test for ImmutableArray`1.Add

Repro for issue found in #191
Add more comments to thread-safety test.
Fixes thread-safety vulnerability in ImmutableArray<T>.

Any member that references 'this' more than once is vulnerable to in-place replacements of the value of the struct from another thread. That pretty much defeats the thread-safety guarantee of ImmutableArray<T>. So the fix is to make sure we dereference this (to get the array) exactly once per public entrypoint so that the array instance we access is the same every time.

An example of the problem is we can capture the length of the array, and then copy from the array. But in between those two steps another thread updated the field that contained this struct, so while our method is still running, the instance of the array actually *changed*, so the length of the array changed with it, and we throw an exception because we tried to read beyond the bounds of the array.

It turns out this demonstrates a very compelling reason to prefix *all* instance member access with "this." (not only fields, but properties and methods too!) because it made auditing and fixing this class much easier since I just had to look for any member that referenced 'this' more than once and could use search and replace to change them all to 'self'.

Fixes #191
Document required self=this coding pattern.

Also fixed formatting of test method.
Merge pull request #200 from AArnott/Issue191

Fix thread-safety vulnerability in ImmutableArray<T>

Fixes #191
Add Test Explorer VS package Service guid.

Every time the Dataflow solution opens (and Test Explorer is used) VS2013 adds this tag to the project. Just concede to the IDE and allow it to be added to the project and check into SCC so that the project doesn't get constantly dirtied by the IDE.

It appears this tag already is in all the other test projects. This recently added test project had not yet been 'tainted', so this takes care of that.
Merge pull request #204 from AArnott/DataflowTestsServiceGuid

Add Test Explorer VS package Service guid.
Merge branch 'master' into BufferBlockBug
Set _enableOffering unconditionaly
Enhance TestBufferBlockOutputAvailableAsyncAfterTryReceiveAll by testing multiple times concurrently