REF: mask values in loc.__setitem__ with bool indexer
- [ ] closes #xxxx
- [ ] tests added / passed
- [ ] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit) for how to run them
- [ ] whatsnew entry

The motivation here is the 1-line change in Block.setitem, which will enable us to share Block.setitem with EABackedBlock.setitem.

cc @phofl thoughts on how to make this prettier or more robust?
This is tricky, in case of Series/DataFrame I think reindexing the value should work. In case of objects without indexes (e.g. np.array) this should raise I think > This is tricky, in case of Series/DataFrame I think reindexing the value should work. In case of objects without indexes (e.g. np.array) this should raise I think

I like this idea, will update to let non-Series/DataFrame fall through. Updated to address comments and add tests.  special-cases all-False cases with FIXME comments to punt on https://github.com/pandas-dev/pandas/pull/45501#discussion_r789214644.
 https://github.com/pandas-dev/pandas/runs/4909709364?check_suite_focus=true status here? > status here?

ready to go.  looking forward to some nice de-duplication this will allow.