ENH: Define Open() as virtual in GenericIOReader

Defined Open() to be a virtual method in the GenericIOReader
base class. Concrete implementations, i.e., GenericIOMPIReader,
implement the functionality for opening the corresponding file
handle.