Add missing cases to the type_limits lint

and exhaustive testing for the `u8` type.
Remove two useless comparisons

according to the updated type_limits lint.
auto merge of #13936 : Armavica/rust/lint_check-range, r=kballard

Some cases were not correctly handled by this lint, for instance `let a = 42u8; a < 0` and `let a = 42u8; a > 255`.
It led to the discovery of two useless comparisons, which I removed.