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.
Fix build issues on python 3
More updates for python 3
Add another test for ufunc custom output type
Rename rational.c.src to test_rational.c.src
Rename rational module to test_rational
Formatting changes
Merge pull request #2822 from ContinuumIO/custom_output_operand_fix

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