revsets: add commonancestors revset

This is a method to reproduce "::x and ::y" such that a set can be sent

in. For instance, it'd be convenient to have "::heads()" work like this

but that already means "::x + ::y + ..." for each element in the

"heads()" set.

Therefore, we add the "commonancestors" method to mean "::x and ::y ..."

for each head in the given set.