Return an Enumerator from each* methods when no block is given
Updates the following methods
Oga::XML::Attribute#each_ancestor
Oga::XML::Node#each_ancestor
Oga::XML::NodeSet#each
Oga::XML::Traversal#each_node
to return an Enumerator
when they are called without a block.
This is a common pattern in Ruby's enumeration methods such as Array#each
which allows for patterns such as
node.each_ancestor.find { |node| node.name == 'tr' }