enhance checkout, add CheckoutTree method

rt, bind git_checkout_tree to CheckoutTree method
This should accept a tree. Embrace the static types.