Avoid assuming the primary key column is called "id"

The preordered traversal code currently assumes the tree model’s primary is called “id” (which can be changed using `self.primary_key = :foo`).

This PR replaces the hard-coded “id” references with calls to closure_tree’s `quoted_id_column_name`.