expose acquisition flags to Python
add explicit open and close commands

NOTE:
 * cannot rely on __dealloc__ for closing file,
   won't work in interactive mode and can make the
   resulting HDF5 unreadable
 * added explicit open and close as a result
 * separation of concerns __cinit__ handles init,
   open handles open, close handles close,
   __dealloc__ handles cleanup
 * added boolean guard, avoids double open / close, allows
   for closing at deletetime