Make immutable collection tests portable

In preparation for running tests on .NET Core, make Immutable tests a portable class library.

Some usage of Console and File snuck in recently. Although both will be part of .NET Core, immutable collections also work on down-level platforms that don't have them yet, so we should make the tests as portable as the library being tested. I've changed the tests to log to the debug output instead of File(s) and Console. The file logging was for currently manual perf tests and the console logging doesn't seem critical.

I also removed unnecessary AllowUnsafeBlocks=true in Release configuration.
Should we just delete the old File.* code rather than commenting it out?