crash using HDFStore in a loop
#### Code Sample, a copy-pastable example if possible

```python

import pandas as pd
import numpy as np
import h5py  # unused, but checking if libraries are stepping on each other

new_chi1s = pd.DataFrame({'a': np.linspace(0, 1, 100)})

for j in range(100000):
    with pd.HDFStore('/tmp/chi1_angle.h5', 'a') as chi1s:
        chi1s.append('df', new_chi1s) 
```
#### Problem description

This was originally posted at https://github.com/h5py/h5py/issues/895 by @mkhoshle but this is either a pandas or pytables bug.  Gross-posting here as the top interface 

```python
original exception:HDF5 error back trace

  File "H5Dio.c", line 271, in H5Dwrite
    can't prepare for writing data
  File "H5Dio.c", line 352, in H5D__pre_write
    can't write data
  File "H5Dio.c", line 795, in H5D__write
    can't write data
  File "H5Dchunk.c", line 2006, in H5D__chunk_write
    unable to read raw data chunk
  File "H5Dchunk.c", line 2900, in H5D__chunk_lock
    unable to read raw data chunk
  File "H5Fio.c", line 120, in H5F_block_read
    read through metadata accumulator failed
  File "H5Faccum.c", line 263, in H5F__accum_read
    driver read request failed
  File "H5FDint.c", line 207, in H5FD_read
    addr overflow, addr = 3001503, size=75, eoa=3000871

End of HDF5 error back trace

Internal error modifying the elements (H5ARRAYwrite_records returned errorcode -6)

```

Tracing back, we go to https://github.com/PyTables/PyTables/blob/master/tables/hdf5extension.pyx#L1760 to https://github.com/PyTables/PyTables/blob/master/src/H5ARRAY.c#L344  to https://support.hdfgroup.org/HDF5/doc/RM/RM_H5D.html#Dataset-Write 

so something is broken at a low level.  My knee-jerk guess is that the context manager is not fully flushing to disk on exit and the file is being re-opened in an odd state or there is some race condition on pytables global state managing the file handle.

#### Expected Output
