Merge pull request #2 from arjoly/tree-sparse-imp

Some improvement to sparse input support
predict & predict_proba can take sparse data, they are not densyfied internally anymore
Null initialization of feature_to_color and feature_values
Modified the predict and predic_proba function to hanlde sparse input
flake8ed test_tree, and tree.py
Changed random forests to support sparsity
WIP start rationalizing positive and negative value indexing
ENH greatly simplify index machinery to indicate positive and negative
ENH better variable name
ENH faster binary search
ENH more descriptive variable nmae
ENH remove duplicated variable (current_col => Xf)
ENH get rid of tmp_indices
ENH make a function for nnz value extraction
ENH clean variables: unused/names
ENH more robust binary search to overflow
ENH simpler code path
ENH split faster data when the best split is found
ENH small improvements in testing
Cythonize _tree.pyx