Fixed a bug causing exceptions in Tree.fit() when no features were categorical.
Added support for categorical variables to _gradient_boosting.pyx by exporting the goes_left function from _tree.
Added a new categorical parameter to the fit routines of the Gradient Boosting and Random Forest engines; they pass it on to Tree.
Updated the relevent C files from the .pyx files that were changed in this branch.