Spike for #150 (Allow direct use of SubstituteFactory)

Hi everyone!

This is a quick spike for #150 (Allow direct use of SubstituteFactory).

I added:
- "AllSubstitutesWide" API wich looks like ```Substitute.Configure(params Func<ICall, RouteAction>[] customCallHandlers)```. Also can be "oneSubstituteWide" too.
- ```Func<ICall, RouteAction>[] CustomCallHandlers``` to ```ISubstitutionContext``` which stores all custom handlers.
- ```CustomCallHandlers``` as a new ```ICallHandler``` which handles calls and return values if needed.

I don't like that ```RouteAction``` is exposed outside but it can be repaced with ```object```.

Usage:
```csharp
Substitute.Configure(call => call.GetReturnType() == typeof(int) ? RouteAction.Return(5) : RouteAction.Continue());
var sub = Substitute.For<IInterface>();
Assert.AreEqual(5, sub.ReturnsInt());

public interface IInterface
{
    int ReturnsInt();
}
```

Looking forward to your feedback.