ENH faster heapsort in trees

Uses the heapsort version that I'm familiar with: linear-time heapify
followed by n delete-min operations. Also cache-friendlier by copying
active features into a temporary array.

Random forest training time on covertype:
now     34.4123s
before  60.1179s
ENH introsort in tree learner

Covertype w/ random forest training time down to 29.0857s.
ENH Make PresortBestSplitter cache friendly + cosmetics
Proper centering of alpha_grid for sparse matrices
FIX: Normalize=True
update what's new
Merge pull request #2747 from larsmans/tree-sort

[MRG] faster sorting in trees; random forests almost 2× as fast
clarify what's new
Added docstrings for model attributes in LabelPropagation and LabelSpreading
Merge pull request #2799 from charlescearl/charles-label-prop-doc-updates

Added docstrings for model attributes in LabelPropagation and LabelSprea...
Fixed documentation on sklearn/tree
Merge pull request #2800 from eltermann/doc-fix-tree

Fixed documentation on sklearn/tree
ENH add label ranking average precision
DOC write narrative doc for label ranking average precision
DOC FIX error + wording
TST invariance testing + handle degenerate case
flake8