Added support for ShouldThrow and ShouldNotThrow.

I wasn't sure if this was an intentional omission or just something that didn't get tackled in your version.  Two new methods address the Assert.Throws and Assert.DoesNotThrow case.  The syntax is a bit different as you have no result object to hang the extension method on, so I placed it on the TestDelegate class:

new TestDelegate(() => nullString.ToString()).ShouldThrow<NullReferenceException>();