Use *args, **kwargs for identifier functions instead of args, kwargs, since the former is more standard. This will break backward-compatibility with existing user-written identifiers.
Use ``with open(...)`` syntax
Automatically select first valid table, and also allow generic HDU identifications (e.g. extension name) for consistency with astropy.io.fits as suggested by @iguananaut