[predicates] ExpectedValuePredicate now accepts a dict parameter
``match_form_params`` and ``match_kwargs`` benefit from that.
For instance, the following statements are valid::
__select__ = match_form_params('vid', 'subvid')
__select__ = match_form_params(vid='list', subvid='incontext')
__select__ = match_form_params(vid=('list', 'tsearch'))
In the latter cases, not only the parameters (``vid``/``subvid``)
must be in the request form but their corresponding value must also match
the expected values (or one of possible choices if `values` is a sequence).
closes #5484070
from datetime import datetime
for rtype in ('cw_support', 'cw_dont_cross', 'cw_may_cross'):
drop_relation_type(rtype)
add_entity_type('CWSourceSchemaConfig')
if not 'url' in schema['CWSource'].subjrels:
add_attribute('CWSource', 'url')
add_attribute('CWSource', 'parser')
add_attribute('CWSource', 'latest_retrieval')