ENH: DataFrame.to_hdf() can't save to a subgroup
I am storing a lot of complex hierarchical data to HDF5 files. Thus, my HDF5 files have a hierarchical structure of datasets sitting inside groups sitting inside other groups.

Currently, the [to_hdf](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_hdf.html) function allows to input a path and a key. As far as I have understood, the key refers to the name of the group to be created at the lowest level of HDF5 file. However, I don't want to place it at the lowest level. I want it to be a subgroup of an already created group.

Here is an example functionality that I would expect to work

import pandas as pd

```
df = pd.DataFrame()
with h5py.File('test.h5') as f:
    f.create_group('foo')

df.to_hdf('test.h5', 'foo/bar')
```
Here, `foo` is an already existing group, and `bar` is the name of the pandas dataset. As you see, I would like `bar` to be a subgroup of `foo`. Currently, this crashes with the error

`ValueError: Unable to create group (name already exists)`

I would also be happy if somebody could recommend a hack. Currently, I am unable to find how to move groups around using h5py

EDIT: I realize that for this to work, the [read_hdf](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_hdf.html) function will also need to change. I haven't tested, but I suspect that it also can't handle hierarchical keys yet