ENH: Implement GenericIOBase

Implemented base class GenericIOBase. The sole purpose
of this class is to implement functionality that is common
for both readers and writers. This class is not intended to
be used directly by end-users.