Fix #812 - allow to return a struct as a model for a route

Just need to check if return is a value type before testing against null. Fix #812.
Then, you can use embedded JsonSerializer or JSON.NET one without any problem.
Thanks
No, the change to ``DefaultRouteInvoker`` makes sure the negotiator is called. With it an exception is thrown when comparing ``returnResult`` and ``null``. So it makes sense that the tests only checks that the negotiator gets called.