Merge pull request #4759 from juliantaylor/warning-fix

MAINT: fix a few harmless compiler warnings
MAINT: Removed code emulating keepdims in cov
Merge pull request #4761 from dfreese/maint/keepdimsincov

MAINT: Removed code emulating keepdims in cov
TST: fix random failing histogram test

histogramdd rounds by decimal=6 so the random numbers may not be
outliers if they are below 1. + 1e6
Merge pull request #4762 from juliantaylor/hist-test

TST: fix random failing histogram test
ENH: use sparse meshgrid instead of indices().tolist()

tolist() converts numpy integers to python integers which are converted
back to numpy integers by the indexing.
meshgrid(indexing='ij') returns the indices wanted here as the right type.
triples performance of sorting a size=(200, 200, 50) array along axis 2
and reduces memory usage by almost 40%.
ENH: rewrite ma.median to improve poor performance for multiple dimensions

many masked median along a small dimension is extremely slow due to the
usage of apply_along_axis which iterates fully in python. The unmasked
median is about 1000x faster.

Work around this issue by using indexing to select the median element
instead of apply_along_axis.

Further improvements are possible, e.g. using the current np.nanmedian
approach for masked medians along large dimensions so partition is used
instead of sort or to extend partition to allow broadcasting over
multiple elements.

Closes gh-4683.
ENH: use masked median for small multidimensional nanmedians