NSubstitute auto default values from fixture (fixes #297)

The solution is similar to what @dcastro did for AutoMoq on #302, but for NSubstitute.

There are a few differences, though:
It works with ref parameters
It won't setup void methods due to a limitation in NSubstitute that does not allow to override When..Do setups

Notes:
I had to late bind the NSubstitute methods because the signature of Returns and ReturnsForAnyArgs methods has changed a few times since 1.4.3 (had optional parameters added and return type changed). 
I added the classes that late binds the methods to the AutoFixture kernel as I though it might be helpful for someone else.

```LateBindingStaticMethodQuery```: Selects public static methods that has the same parameters of another method, ignoring optional parameters and return type.
```LateBoundMethod```: Decorates another method invoking it supplying missing optional parameters.
```GenericMethod```: Encapsulates a generic method, inferring the type parameters bases on invocation arguments.


Thanks @mrinaldi  and @ploeh, I wasn't aware of this! Indeed, Moq has the same limitation. `ToString` can't be mocked *unless* it is overridden somewhere in the hierarchy chain. In other words, this will fail:

```csharp
class Class1 {}
var substitute = Substitute.For<Class1>();
substitute.ToString().Returns("mocked");
Assert.Equal("mocked", substitute.ToString());
```
But this will pass:
```csharp
class Class2 {
    public override string ToString(){ return ""; }
}
var substitute = Substitute.For<Class2>();
substitute.ToString().Returns("mocked");
Assert.Equal("mocked", substitute.ToString());
```

Correct me if I'm wrong, but wouldn't `ObjectMethods.Contains(method.GetBaseDefinition()` skip `Object.ToString` and `Class2.ToString`, and not just the first?

Also, and I'm pretty sure this is just me being dumb, how do I get autofixture to create a substitute for a class? With AutoMoq, I have to explicily ask for an instance of `Mock<T>`, e.g., `fixture.Create<Mock<Class>>()`, but I'm not sure what the equivalent for AutoNSubstitute is.