ufunc ‘greater’ support (including complex)

also a couple of fixes in npyimpl.py, as predicate values were not
working in _ArrayHelper.

some renaming and type checking fixing on complex comparisons.
ufunc ‘greater_equal’ support (including complex)
ufunc ‘less’ support (including complex)
ufunc ‘less_equal’ support (including complex)
ufunc ‘not_equal’ support (including complex)
ufunc ‘equal’ support (including complex)
“logical” family of ufuncs. Also fixed tests and errors for complex cmp

the tests for complex comparison weren’t executed as ‘?’ was not
as supported type in the class for its tests.
Merge branch 'npymath-complex' into logical-ufuncs

Conflicts:
	numba/targets/npyfuncs.py
ufunc ‘maximum’ support (including complex)
ufunc ‘minimum’ support (including complex)
ufunc ‘fmax’ support (including complex)
ufuncs ‘fmin’, ‘isnan’ support
ufunc ‘bitwise_and’ support
ufunc ‘bitwise_or’ support
ufunc ‘bitwise_xor’ support
ufunc ‘invert’ aka ‘bitwise_not’ support
ufunc ‘left_shift’ support
ufunc ‘right_shift’ support
ufuncs ‘infinite, isinf’ support (including complex)
ufunc ‘signbit’ support + fixes in isfinite and isinf ufuncs/tests