ENH: sparse astype now supports int64 and bool
- [x] split from #13849
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

`SparseXXX` now support `astype` other than `float64` dtype. It raises `ValueError` when its `sp_values` or `fill_value` cannot be converted to specified dtype.

```
s = pd.SparseSeries([1., 0., 2., 0.], fill_value=0)
s.astype(np.int64)
#0    1
#1    0
#2    2
#3    0
# dtype: int64
# BlockIndex
# Block locations: array([0, 2], dtype=int32)
# Block lengths: array([1, 1], dtype=int32)

pd.SparseSeries([1, np.nan, 2, np.nan]).astype(np.int64)
# ValueError: unable to coerce current fill_value nan to int64 dtype
```

Also, `fill_value` setter now checks input value dtype and raises `ValueError` if value cannot be stored to current dtype.

```
s = pd.SparseSeries([1, 0, 2, 0], fill_value=0, dtype=np.int64)
s.fill_value = 2
s
#0    1
#1    2
#2    2
#3    2
# dtype: int64
# BlockIndex
# Block locations: array([0, 2], dtype=int32)
# Block lengths: array([1, 1], dtype=int32)

s.fill_value = np.nan
# ValueError: unable to set fill_value nan to int64 dtype
```

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

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

``` diff
@@             master     #13900   diff @@
==========================================
  Files           139        139          
  Lines         50057      50077    +20   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          42692      42712    +20   
  Misses         7365       7365          
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [45d54d0...1c669ad](https://codecov.io/gh/pydata/pandas/compare/45d54d067ed9a0dfdb456f253fb0bede9969187c...1c669adb43f46831047507d56aff4b447a041e35?src=pr)
 lgtm, is this dependent on anything or standalone?
 thx for the review. it's independent.
 thanks!
