When a ScenarioContext key/value is set to null, the TryGetValue() function fails

The following test code will throw an exception in `SpecFlowContext.TheValueIsAFactoryMethod<>(object value)`:

```c#
    string value = null
    ScenarioContext.Current.Set(value, "NullValue");
    ScenarioContext.Current.TryGetValue("NullValue", out value);
```

I would expect `SpecFlowContext.TheValueIsAFactoryMethod<>()` to check the passed in `value` for null, and if it is null, not call `GetType()`.