Fix for ufuncs with built in input operands and custom output operands
Add unit test for ufunc with custom type

Add unit test for ufunc with built in input types and custom output type.
Also, borrow rational custom dtype code from numpy-dtypes projects so that numpy
has a custom dtype for testing purposes.