TST: implement framework for stats/mstats comparisons.

test_mstats_basic.py work technically with comparison between mstats and stats,
however, still quite some errors during testing. Need to check if these are
bugs in mstats code or in unittest.
TST: implemented comparison test between stats and mstats.

Several differences were found. Tests for these differences have been DISABLED
at the moment, but issues will be raised.
TST: implemented routine that prints a table with routines of stats and mstats.

Table shows available unit tests, for ease of comparison.
BUG: collection of fixes to make mstats more consistent with stats.

BIG: fixed inconsistencies for routines sem() in stats and mstats. Both now
have a ddof parameter. For backward compatability reasons, their default values
however differ! Denominator sqrt(n-1) was replaced by sqrt(n), as this is the
proper approach. However, needs to be checked, if sqrt(n-ddof) would actually
be actually the right way.

BUG: in routine mstats.tvar(): the normalization factor n/(n-1.) was missing.
Unittests for the routine with given limits are still missing.

BUG: modified mstats.linregress(): stats.linregress() and mstats.linregress()
now return the same values. Inconsistencies have been resolved by explicitely
calling stats.linregress() instead of doing separate calculations in mstats.

BUG: modified mstats.skewtest(): stats.skewtest() and mstats.skewtest() did
return different results for the p-value. In fact, the mstats approach seemed
to be wrong. Instead of fixing the problem, I changed mstats.skewtest() in a
way that it just acts as a wrapper for the stats.skewtest() function

BUG: fixed error in the unittesting of routine test_obrientransform(). Note
that results are transformed. This was however kept like it is to be backward
compatible

BUG: major bugfix in mstats.tsem(); returned results were inconsistent with the
corresponding stats.tsem() function. The return value was incorrectly
normalized. Instead of sd/sqrt(n), sd/n was returned. It is also ensured that
variance is calculated with ddof=1.
BUG: stats.describe() and mstats.describe() were inconsistent.

Added new parameter ddof in both routines, so one can specify the degree of
freedom when calling. Changes are backward compatible which results still in
different default values for ddof for both routines
BUG: small bugfix in mstats.trima().

In case that both, upper/lower limit were None, the condition was not handled
properly.  Now the array is directly returned.
PEP8: made test_mstats_basic.py PEP8 compliant
MAINT: removed print_stats_mstats_comparison(); to be stored as gist.
BUG: handle case in mstats.linregress when input has a mask of all False.
TST: add extra tests for support for 2D data in mstats.skewtest.
TST: fix a lot of issues in mstats_basic tests
MAINT: clean up changes to stats/mstats_basic in PR 3084.
BUG: fix bug introduced by PR 3408 in mstats.linspace.

Also clean up mstats_basic tests further for PR 3408 changes.
BUG: fix integer overflow in kurtosistest functions.

Also filter some test warnings.
TST: fix too tight tolerance and Python 3.x error in stats.mstats tests.
[BUG] fix scipy.linalg.hessenberg

do not permute the input matrix. fixes #3364.
[TST] linalg.hessenberg: add unit test

add the example from #3364 as unit test.
ENH: speed-up ndimage.filters.min(max)imum_filter1d

The current implementation of min(max)imum_filter1d rescans the full filter
window at every step, leading to an O(n*m) complexity, n being the size of
the image, and m of the filter.
This PR changes the computation algorithm, keeping track of the min(max)imum
value, and its offset from the current position. This allows to compute the
min(max)imum by making a single compare of the next value in the image against
the min(max)imum, and checking that the min(max)imum is still within the filter
window. This leads to an expected O(n) average performance, although the worst
case is still O(n*m).

The worst case happens for strictly inc(dec)reasing sequences of values, and in
this case the performance is actually worse than the original, because of the
overhead of computing the min(max)imum offset.
Merge pull request #3517 from jaimefrio/minmax-filter

ENH: speed-up ndimage.filters.min(max)imum_filter1d
DOC: sparse: LIL is *not* efficient at all

... unless the user takes care to pre-sort the items. Naively
constructing, say, a term-document matrix can easily take
quadratic time using LIL.