ENH: Added SplitMode ivar indicator

Added SplitMode ivar to GenericIOReader that indicates whether
the file being read has been written in separate files.
ENH: Add HasVariable() method
ENH: Added method to determin the file type

Added DetermineFileType method that detects if
the data in the file have been written in separate
files based on the global header and variable names
read from the master file.
ENH: Initial support for partitioned files
DOC: Improved documentation
ENH: Added method to read in block-to-file mapping
ENH: Make ReadData non-collective
BUGFIX: Call ClearVariables() after read metadata

Fixed issue wherein the registered variables $rank and
$partition where not being cleared after readin the data.
Consequently, process 0 had a different number of variables
than all other processes.
ENH: Implemented setup of internal/proxy readers

Added functionality to create internaly proxy readers.
When the data is written in SplitMode, i.e., in separate
files, the request for data must be proxied to the internal
readers. This method adds code that creates the internal
readers.
ENH: Implement BlockAssignment in SplitMode

When reading blocks in SplitMode, the code now assigns blocks
to processes based on the global number of blockes. Then,
in each process, the assignment is being propagated down to
the individual readers.
ENH: Print out number of elements
ENH: Added method to acquire VariableInfo
ENH: Support both single & split modes in ReadData
DEBUG: Adding some more debugging printouts
ENH: Make test read partitioned FOF files