ENH: write integer compare loops in way the compiler can vectorize them

current compilers (gcc 4.8, clang 3.4) are not good in vectorizing these
loops but at least for bytes and shorts they do give decent
improvements. Properly vectorizing the operations like already done for
floats is tedious and not probably not worth the effort, especially as
64 bit integer compares only exist in SSE4 and can thus not be used by
default.
ENH: use smallest integer for tri ranges

reduces buffer copy and comparison overhead for boolean outer product