REF: Refactor sparse HDF5 read / write
In preparation for the removal of SparseSeries and SparseDataFrame, we
read into a Series[sparse] / DataFrame[sparse]. https://github.com/pandas-dev/pandas/pull/28425

cc @jreback @jorisvandenbossche.

I've just done the minimal amount to get this working. It may shed some light on how we can design an API for dispatching writing for 3rd party EAs (I think we should ask the EA for the values (arrays) to write, and the bits of extra metadata. Pandas should take care of the actual writing though. But that's for another day).
Hmm, can someone confirm something for me on master / pandas 0.25.1?

```python
df = pd.DataFrame({"A": [1, None, 2, 3]}).to_sparse()
df.to_hdf("foo.h5", "sdf")
pd.read_hdf("foo.h5", "sdf")
```

I see `NotImplementedError: start and/or stop are not supported in fixed Sparse reading`, so reading / writing SparseDataFrame is already broken? Hmm, yes, I see the same (with another example). If it is actually not working (and also not even tested, as you noticed), then that simplifies things I think ;) Oh, SparseSeries reading is broken too, not just SparseFrame? So things are simplified quite a bit indeed :)

I have a local fix for SparseSeries, but it's quite ugly. I think for now I'll ignore reading old sparse HDF5 files, and only support reading new files. I'll add additional tests for newly created files though. Given that it didn't work before, I would say this is necessarily a blocker for #28425. But if this is already working mostly for the new way, fine with adding this capability. Good point.

This solution doesn't feel 100% correct. In particularly, I don't like dynamically modifying `self.attributes` when we write the array. i would likely just remove sparse entirely from HDF
it was barely supported to begin with Yes, my preference right now is probably not to merge this PR and to followup with a proper API for dispatching array / attribute writing for all ExtensionArrays. Sounds good to me Going to close this for now. This should be covered as part of https://github.com/pandas-dev/pandas/issues/20612 when that's picked up.