API: BooleanArray any/all with NA logic
Closes https://github.com/pandas-dev/pandas/issues/29686

Implementation and tests for `any`/`all` with the updated logic as discussed in the linked issue.
> What happens with np.any with this? Do we need any keywords for compatibility?

Yes, still need to do that. If we want this to work (without getting into `__array_function__` for now), we need to add at least `axis` and `out`.

> Is the expected behavior here different from nanops.nanany? / nanops.nanall?

Ah, didn't look yet at those. They actually accept a `mask`. The approach they take is to fill the missing values with a `fill_value` (instead of filtering as I did here). 
But, we would still need the custom logic to decide when something should return pd.NA or not, so not fully sure it is worth to reuse those (will also do some timings tomorrow).

Also still need to add docstrings. > Is the expected behavior here different from nanops.nanany? / nanops.nanall?

So I didn't use those methods, because indeed the behaviour that is now implemented in nanany/nanall for the `skipna=False` case is different. This is good to go? 

The failure on Azure is the flaky resource warning thing.