scripts: fix API parsing of *** pointers
scripts: fix API parsing of *** pointers

The currrent generated API contains *** pointer types with bogus
whitespace in the middle:

  <arg name='keys' type='char ** *' info='pointer to a variable to store authorized keys'/>

because the tokenizer only tries to merge 2 distinct '*' together.
This refactors the code to merge an arbitrary number, resulting
in

  <arg name='keys' type='char ***' info='pointer to a variable to store authorized keys'/>

Reviewed-by: Michal Privoznik <83d82aaba2eed257f4814b0c239c260c4caaadf0@redhat.com>
Signed-off-by: Daniel P. Berrangé <bb938cf255e055ff3507f2627d214e8e62118fcf@redhat.com>

libvirt/libvirt,olafhering/libvirt,nertpinx/libvirt,olafhering/libvirt,crobinso/libvirt,olafhering/libvirt,jfehlig/libvirt,crobinso/libvirt,jfehlig/libvirt,zippy2/libvirt,libvirt/libvirt,zippy2/libvirt,jfehlig/libvirt,zippy2/libvirt,nertpinx/libvirt,nertpinx/libvirt,jfehlig/libvirt,crobinso/libvirt,nertpinx/libvirt,zippy2/libvirt,libvirt/libvirt,olafhering/libvirt,nertpinx/libvirt,crobinso/libvirt,libvirt/libvirt