Move tests into their own fixtures.

Tidy up the test code a bit.
Install NSubstitute.

Also update AutoFixture while we're here.
Do not allow methods called 'With()'.

Methods called just 'With()' do not specify a member name for the
argument, so this is invalid syntax for the method syntax parser. Return
false from the parser to indicate failure, and allow the DLR to take over
by throwing a `RuntimeBinderException`.
Only allow methods starting with 'With'.

Throw a `RuntimeBinderException` if the member name starts with anything
other than 'With'.
Merge branch 'fix-method-syntax-parser'