Support primitive return types in setup

New method which allows specifying the return type to support the above

Updated Moq version to 4.2
constraining `TReturn` to `struct` would make it more obvious what it's useful for. But I'm talking about runtime checks for the regular `Setup<TService>` method so that if someone is using `Setup<TService>` to return an `int` or `long` it gives them a friendly nudge toward this overload.