MAINT: npy_a(exp,log,sqrt,fabs) don't really exist.
MAINT: Add frexp and ldexp to npymath and generate their ufuncs
TST: add temporary elision testcases

A very significant optimization for numpy would be to avoid the
temporaries in these types of expressions:

    res = a + b + c

transforming it into:

    res = a + b
    res += c

An approach to do that is to check the reference count of the PyNumber
slot arguments, temporary expressions coming from python have reference
count 1 and can be converted to inplace operations.
Unfortunately C-extensions can skip increasing reference counts for
operations breaking the assumption that an inplace operation can be
performed, e.g. Cython does this type of optimizations.
To ensure to not accidentally break such extensions in future test
that refcount == 1 operands from extensions are not elided.
Merge pull request #4856 from juliantaylor/elide-testcases

TST: add temporary elision testcases
Merge pull request #4852 from ewmoore/gen_frexp

Generate ufuncs for frexp and ldexp
BUG: Use `np.where` in np.triu/np.tril, fixes #4859

Replaces the current method to zero items, from multiplication to
using `np.where`.
Merge pull request #4861 from jaimefrio/tri_with_inf

BUG: inf turned to nan when calling np.triu/np.tril, fixes #4859