Improve h5 file initialization

* Add support for explicitly opening files (defaults to opening on initialization still, but this can be turned off)
* Add support for initializing with PyTables `File`
Good catch