Settling minmax assumptions + tests

I've added some relevant assumption methods for minmax, including tests. It was weird, but I had to add the method `_eval_is_irrational` and `_eval_is_noninteger` - for some reason, there's no proper mixin here, and even if the max was evaluated to be `real=True` and `rational=False`, it didn't conclude that it is `irrational=True` - so I've added it manually.
@pelegm Why not just use `fuzzy_and`?
```
return fuzzy_and(arg.is_property for arg in self.args)
```