ENH: intern some commonly used strings in umath module

Allows using the PyObject dictionary functions instead of the costly
C-string variants.

Make use of this in some of the ufunc subtype wrapper functions.

Improvement:

    a, b = np.arange(200.), np.arange(200.)
    %timeit np.add(a, b, out=a)
    1000000 loops, best of 3: 768 ns per loop

vs before:

    %timeit np.add(a, b, out=a)
    1000000 loops, best of 3: 1.03 µs per loop
ENH: skip redundant checking of subok keyword in _find_array_prepare

all currently existing callers only call this function if subok has
already been checked to be true, but keep the code to make clear it has
to be checked.
Merge pull request #4058 from juliantaylor/intern-strings

ENH: intern some commonly used strings in umath module