BUG: Sparse indexing with bool sparse may be incorrect
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

indexing with `SparseArray` with `bool` dtype may return incorrect result because of some internal conversions.

```
arr = pd.SparseArray([1, 2, 3])
indexer = pd.SparseArray([True, False, True], fill_value=False, dtype=bool)

# NG
arr[indexer]
# [2.0, 2.0]
# Fill: nan
# IntIndex
# Indices: array([0, 1], dtype=int32)

# Expected (after this PR)
arr[indexer]
# [1.0, 3.0]
# Fill: nan
# IntIndex
# Indices: array([0, 1], dtype=int32)
```

## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/13985?src=pr) is 85.28% (diff: 83.33%)

> Merging [#13985](https://codecov.io/gh/pydata/pandas/pull/13985?src=pr) into [master](https://codecov.io/gh/pydata/pandas/branch/master?src=pr) will decrease coverage by **<.01%**

``` diff
@@             master     #13985   diff @@
==========================================
  Files           139        139          
  Lines         50206      50211     +5   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          42818      42822     +4   
- Misses         7388       7389     +1   
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [29d9e24...0909fa8](https://codecov.io/gh/pydata/pandas/compare/29d9e24f4c778b0c9ebe9288bfc217808d2c6edb...0909fa89f54f81d2cdd3a61d73dbd13c948d20af?src=pr)
 thanks!
