Make bouncer and client aware of policies
Currently when the bouncer returns a collector to a probe it does not take into account the fact that such collector may not support the specified test and/or inputs. This means that when the probe will try to report to it, it may fail and the report will be lost.
This feature is related to making the bouncer aware of the collector policies. Depending on the input and tests that a probe is interested in running it shall return only collectors that support them.
The bouncer should always return the collector with the most strict policy that supports the given test and only fail over to using the less strict ones when there is no alternative.
Part of this is already implemented in these two branches:
ooni-probe: https://github.com/TheTorProject/ooni-probe/tree/feature/oonib_policy_aware
ooni-backend: https://github.com/TheTorProject/ooni-backend/tree/feature/oonib_policy_aware
What is currently missing is to review these two branches and update ooni-spec to reflect these changes to the bouncer API.