[migration] fix handling of default value for boolean attributes
We can't assert that the old value is 'True' or 'False', because False
used to be stored as an empty string in pre-3.18 versions.
[entity/url publishing] fetch_rqlst should use 'is_instance_of' instead of 'is'
We usually want to get any subclasses as well (think Training subclass of
Workcase). Closes #3210365.
[rewriter] fix latent bug: arbitrary etype may be substituted when using is_instance_of type restriction
Note: the test is not deterministic because the bug depends on the iteration
order on a set.