Fix for ufuncs with built in input operands and custom output operands

This pull request modifies find_userloop() and linear_search_userloop_type_resolver() so that they search for ufunc functions by trying to find a match for all operands, not just input operands. This resolves the issue where a ufunc is written that takes built in types as input and a custom type as output.