Wrapper to create non-async methods from all async methods in a class

Since all of the `query_x` tools are trivial wrappers on top of `query_x_async`, they are taking up a lot of lines of code without adding any useful functionality.  Therefore, for the sake of code readability and maintenance, it makes sense to use a generator function.

This PR implements the generator, which would be applied to any `class` with `_async` methods, e.g. in `Vizier/core.py` you would do:

`process_asyncs(Vizier)`