Added std.algorithm.safeLess for safe signed/unsigned comparison

Added safeLess and rewrote min/max to use safeLess. This is useful for fixing signed/unsigned comparisons once 259 gets fixed.
Because the whole reason for "unsafeOp" is to allow comparisons between signed and unsigned integers, which should/will eventually generate warnings.