BUG: Make ExtensionArray:_can_hold_na a class attribute
- [x] closes #20761 
- [x] tests added / passed
  - pandas/tests/extension/decimal/test_nona.py
    - This tests an example where `_can_hold_na==False`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry
  - Not included as it is a fix to the new `ExtensionArray` interface

Supersedes #20801 by removing ops functionality from there.

