Select problem by type

Internal/temporary PR for review.
I don't think you should add `filter_problem_type` as an argument, if it's always `True`.

Perhaps just create a local variable at the beginning of `update_children` where `filter_problem_type = (self.capa_type != ANY_CAPA_TYPE_VALUE)`. It's better to do that test once than to always call `_filter_child` for each block and decide if we're filtering once that helper method has already been called.