BUG: DecimalArray and JSONArray that are empty return incorrect results for isna()

- [x] closes #21189
- [x] tests added / passed
  - Modified tests/extension/base/missing.py to test when arrays are empty
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry
  - Did not put anything here because it's internal code

Probably for @TomAugspurger to review.

# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/21190?src=pr&el=h1) Report
> Merging [#21190](https://codecov.io/gh/pandas-dev/pandas/pull/21190?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/1abfd1bfdb26e9f444b4f44ffbcd2e37026e6497?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/21190/graphs/tree.svg?width=650&height=150&src=pr&token=eZ4WkYLtcO)](https://codecov.io/gh/pandas-dev/pandas/pull/21190?src=pr&el=tree)

```diff
@@           Coverage Diff           @@
##           master   #21190   +/-   ##
=======================================
  Coverage   91.84%   91.84%           
=======================================
  Files         153      153           
  Lines       49505    49505           
=======================================
  Hits        45466    45466           
  Misses       4039     4039
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.23% <ø> (ø)` | :arrow_up: |
| #single | `41.88% <ø> (ø)` | :arrow_up: |


------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/21190?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/21190?src=pr&el=footer). Last update [1abfd1b...c99c584](https://codecov.io/gh/pandas-dev/pandas/pull/21190?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
 Do we target such small fixed to ExtensionArrays for 0.23.1 or 0.24.0 ?  This is a test-only change. I think it's fine for 0.23.1, and doesn't need
a release note.

On Thu, May 24, 2018 at 6:50 AM, Jeff Reback <notifications@github.com>
wrote:

> *@jreback* requested changes on this pull request.
>
> lgtm. pls add a whatsnew note in 0.24. virtually all extension changes
> will have to be in 0.24. FYI
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/pandas-dev/pandas/pull/21190#pullrequestreview-122956339>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/ABQHIt2w8-85f70NIEV6FB7m3lZnCoZPks5t1p6KgaJpZM4UL5vx>
> .
>
 no it does need a release note, you have technically changed the behvaior. its ok for 0.23.1 but this may get messy, much easier just to put all EA changes in 0.24  @jreback I'm in agreement with @TomAugspurger .  You write:

> no it does need a release note, you have technically changed the behvaior.

The behavior that is changed is in a test class that is not documented. Has it been prior practice to document in whatsnew when bugs in a test class are fixed?  If so, then I'm fine to add a whatsnew.

I'm indifferent on the version number.  Given the disagreement between the two of you, please let me know how you will reconcile on both the version number issue as well as the whatsnew issue, and how to proceed. Yep, the "user facing" (meaning "extension author facing") change was indeed only in a test, so no whatsnew needed. Tagging this as 0.23.1, just so we don't forget it. When PRs get backported, we can still change it to 0.24.0 if we decided by then