Change TAP Query to use async mode
Currently we use Pyvo to run a query and return the results, using the search
method as seen here:
https://git.astron.nl/astron-sdc/esap-api-gateway/-/blob/master/esap/query/api/services/vo.py#L141
This runs a synchronous query, which means that the client will wait until the results are received, after which the connection is lost, and the results can not be referenced anymore, which means we have to store them in the client. In order to meet the requirement of being able to handle and pass along 1000+ rows to the shopping cart, this doesn't scale with the sychronous query. It does however with the "async" method of TAP, which is run asynchronously, and results are stored at a referencable URL.
Pyvo has a method that we can use in place of the sync query, allowing us to then work on storing / adding the reference to the results in the shopping client. https://pyvo.readthedocs.io/en/latest/api/pyvo.dal.TAPService.html#pyvo.dal.TAPService.run_async