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`