Fix spec description
Add `Model.tree` 

This gets us a scope ordered by the order option
and joined to `with_depths`. Can be limited to
depth or a specific generation. 
Add `Model#tree` 

Uses class method joined to `self_and_descendants`
to get a tree starting at the current node.
Use `tree` scopes for `hash_tree`

Now that we have a tested scope for getting the 
tree from the class or a specific node, we can 
use this inside `.hash_tree` and `#hash_tree`.

There is still that matter of the depth limit for
the instance method. Made note of it for later.
Remove unneeded `hash_tree_scope`

`.tree` and `#tree` hand this for us now.