Feature/primary keys

Adding a `:primary_key` option to closure tree. This allows closure tree to reference models in the tree by a different column then their default primary key.

Useful when dealing with models which have both and id and a uuid and the closure tree needs to be built off the uuids.