Clarify GASearchVariantsRequest semantics.

This PR clarifies the semantics of the `GASearchVariantsRequest` method. By adding the union we now have two possibilities:

1. If callSetIds is null we return all `GACall` objects associated with this variant;
2. If callSetIds is non null we return only the `GACall` objects with IDs in this list. If the list is empty we return zero `GACall` objects.

The clarification is required because the semantics of allowing the empty list to correspond to all calls is confusing, and does not allow for the situation in which we are not interested in any `GACall` objects.
Can you clarify in this comment that an empty array means return variants without call information?