Added descendants methods

Added descendants and self_and_descendants methods,
similar to ancestors and self_and_ancestors