ENH: Added methods to detect/allocate type

Added methods to detect the variable type as well as a method
that allocates buffer for a specific variable based on the
auto-detected type.
BUGFIX: Do not use MPI_ANY_TAG in Isend

MPI_ANY_TAG is meant to be used as a wildcard when making
MPI receive calls and therefore cannot be used when sending.
ENH: Add method to return variable header
BUGFIX: Disambiguate file vars & requested vars

There are two types of variable arrays: (a) The variables requested
by the user to read and (b) the variables that exist in the file.
This commit makes 'GetNumberOfVariables()' return the number of variables requested
by the user and 'GetNumberOfVariablesInFile()' return the number of variables in
the file.
ENH: Use MPIUtilities printf functions
ENH: Added GetFileVariableInfo() method

Added method to acquire a variable information object for
a variable that exists in the file. GenericIOBase::GetVariableInfo
returns a variable information objet for a user-requested variable.
ENH: Add default constructor for VariableInfo
ENH: Unify bitmask
ENH: Print all read data

GenericIOInspector now reads all variables and prints them