BUG: check full signature if dtype of ufunc is set

type_tuple_type_resolver only checks the last type to determine a
mismatch. For true_divide with the signature (x, x, double) this causes
it to use BYTE_divide for everything.
To fix it check the full signature before accepting a match.
Closes gh-3484.