right now if I pass in an invalid value for `database`, it silently goes through, and I get an answer back (I think it uses the default 'all').   You could fix this right now (without duplicating anything) like so:
```
if database is None:
    database = SESAME_DATABASE()
else:
    valid_databases = eval(SESAME_DATABASE.cfgtype[7:-1].split(', '))
    if database not in valid_databases:
        raise NameResolveError('invalid database' + database + ' requested!')
``` 
The stuff with the `cfgtype` there is a bit hackish - the internal representation of the configuration system options is a string like 'options(all, ned, simbad, vizier)', so that just converts that into a thing you can check in the code here.

Alternatively, you could just drop the `database` parameter and tell people they should use the `name_resolve.SESAME_DATABASE` configuration item to choose the database.  Either way works for me.