New simplified interface for developing reader.
The goal of this branch is to introduce a new hierarchy of reader superclasses that make it easier to develop readers by implementing / hiding some of the common functionality readers have. This includes things such as file series as time series, file series as partitions, caching etc. In collaboration with a new executive (vtkReaderExecutive), the reader superclasses implement much of the hard work and provide a simple API for the subclasses to implement. For example, a parallel reader may only have to implement 3 methods: GetMesh(), GetPoints() and GetArrays() to get support for file series as time series and caching (not implemented yet). This functionality is demonstrated by making the Plot3D reader subclass from the new superclass. The testing is automatic since there are numerous tests using Plot3D files.