ENH: unroll vector minmax loop

Improves speed by 10% on intel cpus.
Simplify code by moving the fenv support check into the dispatcher. fenv works
on all common platforms (including windows), the fallback is not worth it for
the exotic platforms where it might not be available.
ENH: accept callable as message in assert_

Allows deferring evaluation until failure.
Used for blocked minmax test which evaluate array representations for
the error message many thousand times accumulating to a full second
useless runtime.
Merge pull request #3945 from juliantaylor/minmax-improve

ENH: unroll vector minmax loop