Corrected a test.

Because the Replace method returns a lazily evaluated sequence, the Null
Guard Claus may not trigger before a client attempts to iterate over it.
Therefore, the test now explicitly creates a list from the sequence.
Rewrote ReplaceReturnCorrectResultBasedOnFunction

so that it actually tests what it's supposed to test. In order to verify
this, I commented out the single C# example, and temporarily implemented
the Replace method by simply returning the input source.

This caused the ReplaceReturnCorrectResultBasedOnFunction test to
consistently fail for Int32 and String, but not for Guid or Version. The
reason for this is that the test relies on the statistical probability
that oldValue can be found in the input sequence, and that's not
particularly likely for Guids... apparently not for Version instances
either.

Still, the test consistently failed, which I think is the important part.
It would be possible to strengthen the test by picking an arbitrary value
from the input source, but to do so, we'd need the PickRandom
method/function, and we don't have that yet.