Minor updates

* Fix build_tree to test for NO_BEST
* Add _hist_shift!, rename _hist_add -> _hist_add!,
  _hist_sub -> _hist_sub! to reflect Julia conventions
* Use multiple dispatch for print_tree, apply_tree