ancestors and descendants were missing some nodes; use breadth-first search instead of depth-first to fix this.
Merge pull request #31 from mdickinson/fix-ancestors-and-descendants

Fix depth limited searches in `ancestors` and `descendants` methods.