interface: handle multiple type suffixes in overloaded methods
In overloaded methods, the method name is derived from
the original function name by removing a suffix
corresponding to the last argument.
Also remove suffixes corresponding to earlier arguments.
This allows the function isl_space_add_named_tuple_id_ui
to be exported with the two suffixes removed.
Note that a suffix corresponding to an argument may
now also be removed even if some later argument
does not have a corresponding suffix.
This is not needed for isl_space_add_named_tuple_id_ui,
but it may be useful later.
Signed-off-by: Sven Verdoolaege <sven@cerebras.net>