Update masked array copy to preserve array order

Using 'K' to try to match array order, fixes https://github.com/numpy/numpy/issues/3156
Adding a test for #3265

Test to ensure that MaskedArray.filled() doesn't change the order of the array.

This test is a little messy because there are problems constructing an F-contiguous masked array in the first place. I had to explicitly pass in F-contiguous arrays for data and mask.
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
BUG: np.insert must copy index array

Otherwise it would do in-place changes to it. Fixes gh-3279.
Merge pull request #3280 from seberg/issue-3279

BUG: np.insert must copy index array
Merge pull request #3265 from jamestwebber/patch-2

Update masked array copy to preserve array order
Formatting changes
DOC: expanding documentation of index ordering

Trying to separate the ideas of index ordering and memory layout.

As discussed on the mailing list
BUG: sphinxext: fix sphinx extensions broken recently
Merge pull request #3296 from pv/fix-sphinxext

BUG: sphinxext: fix sphinx extensions broken recently
Fix np domain to avoid duplicate module indices in docs
Merge pull request #379 from JonWaltman/doc-fix-duplicate-modindex

DOC: sphinxext: Fix np domain to avoid duplicate module indices in docs
Merge pull request #2822 from ContinuumIO/custom_output_operand_fix

Fix for ufuncs with built in input operands and custom output operands
Merge pull request #3294 from matthew-brett/layout-order-docs

DOC: expanding documentation of index ordering