remove try catch on semver, use loose on gt

If we use `loose` on `semver.valid` we need to use `loose` on `semver.gt` too, otherwise `.gt` fails badly.

Also, it does not seems we need to try - catch `semver.valid`, do you have a use case were it fails with an uncaught?

Thanks @3rd-Eden