ENH: Use global controller by default
This commit applies changes that enable the use of the global controller by default. Before, a NULL controller indicated that the reader is parallel. However, with this change, the Controller is almost guaranteed to be non-NULL. To determine whether the reader is running serially or parallel, an additional helper method was added which checks both if the Controller is NULL and the total number of processes associated with the controller. Consequently, all conditional statements of "if( this->Controller != NULL )" have been updated to "if( this->IsParallel() )" which implements the correct behavior.