boolean bfd_check_format_matches(bfd *abfd, bfd_format format, char ***matching);
bfd_check_format, except when it returns false with
bfd_errno set to
bfd_error_file_ambiguously_recognized. In that
case, if matching is not NULL, it will be filled in with
a NULL-terminated list of the names of the formats that matched,
Then the user may choose a format and try again.
When done with the list that matching points to, the caller
should free it.