BUG: Allos linalg.solve to handle zero equations.

This was previously correct, but the special case was missing
since the gufunc code cannot handle it.
Merge pull request #3854 from charris/backport-1.8-3848

Backport 1.8 3848
BUG: preserve ndarray subclasses in median

closes gh-3846
Merge pull request #3855 from charris/backport-1.8-3851

Backport 1.8 3851
DOC: fix signature of NpyIter_GetIterNext in capi doc
DOC: add highlights to release notes and rewrite and move some sections

closes gh-3842, gh-3843
BUG: Refactor nanfunctions to behave as agreed on for 1.8.

    Deal with subclasses of ndarray, like pandas.Series and matrix.

        Subclasses may not define the new keyword keepdims or deal
        gracefully with ufuncs in all their forms. This is solved by
        throwing the problem onto the np.sum, np.any, etc. functions
        that have ugly hacks to deal with the problem.

    Settle handling of all-nan slices.

        nanmax, nanmin -- Raise warning, return NaN for slice.
        nanargmax, nanargmin -- Raise ValueError.
        nansum -- Return NaN for slice. Will change in 1.9.0.
        nanmean, nanvar, nanstd -- Raise warning, return NaN for slice.

    Make NaN functions work for scalar arguments.

        This may seem silly, but it removes a check for special cases.

    Update tests

        Deal with new all-nan handling.
        Test with matrix class as example of subclass without keepdims.
        Test with scalar arguments.

    Fix nanvar issue reported in #3860.
BUG: Make ndarray.{var, std} work for scalars.
Merge pull request #3867 from charris/backport-1.8-3866

Backport 1.8 3866
Merge pull request #3859 from juliantaylor/release-notes

1.8 Release notes update