ENH use threads instead of multiprocessing in SGD
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
fix issue #2901
Merge pull request #2981 from matrixorz/master

fix issue #2901
PY3 file handling
BUG restore joblib logging behavior

.write is not the same as print: the former doesn't append a '\n'.
BUG joblib writes to wrong dir

Sorry, I should have reviewed #2978 more carefully.