Ongoing changes for Issue 155

This is a first pass at changes for issue 155. I have added an NUnit Stopwatch class that wraps the System.Diagnostics Stopwatch class on systems that support it and mimics it on those that don't. I added tests for this class and switched the usages in code to use the new class.

I also made some fixes to the DelayedConstraintTests at the same time since I was in that area and @CharliePoole noticed an increase in overall test run times. I reworked it and cut 20 seconds off my run times.

When code reviewing, concentrate on the new Stopwatch class, if it is correct, everything else should follow.

So far, the few failures in the Teamcity builds seem unrelated to my changes.