Expanded the matrix endpoint to handle multiple capabilities
Modified the casa matrix endpoint to accept a list of capabilities and return a dict mapping each capability to a version list. This is to support the archive getting multiple lists and switching between them in the modal.
I lied before, this will break the dev archive until I modify the archive service. I'll wait to merge this until I have that close to being done.
Some examples of calling 'versions' is now:
>>> import requests
>>> prefix = 'http://capability:3457/casa_matrix/'
>>>
>>> r = requests.get(prefix + 'versions', json={'capabilities': ['restore_cms']})
>>> print(r.json())
{'restore_cms': [{'version': '5.6.1-8|default', 'path': '/home/ssa/casa/RHEL6/docker/casa-pipeline-release-5.6.1-8.el6'}, {'version': '6.4.1-12|2022.2.0.68', 'path': '/home/ssa/casa/RHEL7/docker/casa-6.4.1-12-pipeline-2022.2.0.68'}, {'version': '6.4.1-12|2022.2.0.64', 'path': '/home/ssa/casa/RHEL7/docker/casa-6.4.1-12-pipeline-2022.2.0.64'}]}
>>>
>>> r = requests.get(prefix + 'versions', json={'capabilities': ['restore_cms', 'std_calibration']})
>>> print(r.json())
{'restore_cms': [{'version': '5.6.1-8|default', 'path': '/home/ssa/casa/RHEL6/docker/casa-pipeline-release-5.6.1-8.el6'}, {'version': '6.4.1-12|2022.2.0.68', 'path': '/home/ssa/casa/RHEL7/docker/casa-6.4.1-12-pipeline-2022.2.0.68'}, {'version': '6.4.1-12|2022.2.0.64', 'path': '/home/ssa/casa/RHEL7/docker/casa-6.4.1-12-pipeline-2022.2.0.64'}], 'std_calibration': [{'version': '6.4.1-12|2022.2.0.68', 'path': '/home/ssa/casa/RHEL7/docker/casa-6.4.1-12-pipeline-2022.2.0.68'}, {'version': '6.4.1-12|2022.2.0.64', 'path': '/home/ssa/casa/RHEL7/docker/casa-6.4.1-12-pipeline-2022.2.0.64'}]}
>>>