Clean tree builder interface
ENH inline sme function
ENH avoid serializing the splitter & criterion + avoid storing tree parameter in the tree structure
ENH avoid serialising the random_state in the tree
ENH clean public tree strucure
ENH for the tree structure max_depth is part of the inner structure
ENH stricter separation between tree builder, splitter and criterion
ENH add a dedicated constant for min_impurity_split
Document maximal depth of the tree
ENH stop splitting for best first tree builder if pure node + change strict to unstrict inequality
ENH stricter separation between splitter and criterion
FIX tons of flake8
DOC document max_depth of TreeBuilder
ENH re-generate c file
Add space to be consistent with _tree.pyx
DOC document internal tree class
ENH rename CONSTANT_FEATURE_THRESHOLD to FEATURE_THRESHOLD + revert some pep8 fix for readability
DOC missing words
Merge pull request #2977 from arjoly/tree-cleanup

[MRG] Some cleanup in _tree.pyx