Inconsistent 'TResult' type parameter constraints
## 🐛 Bug Report

<!--- Summary description of the bug --->

### Current behavior
Constraint of 'TResult' type parameter in MvxViewModel is 'notnull' (any non-nullable type, so may be struct or class).
Constraint of 'TResult' type parameter in IMvxNavigationService.Close() is 'class' (only reference types allowed, so not structs).

### Expected behavior
'TResult' type parameter in IMvxNavigationService.Close() and 'TResult' type parameter in MvxViewModel have no constraints at all.

**Version:** 8.0.1

**Platform:** 
- [x] :iphone: iOS
- [x] :robot: Android
- [ ] :checkered_flag: WPF
- [ ] :earth_americas: UWP
- [ ] :apple: MacOS
- [ ] :tv: tvOS
- [ ] :monkey: Xamarin.Forms
