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.
You're right, this is the sensible approach now; I hadn't really considered this from the perspective of someone already using the API. I've changed the comments; thanks!