Issue #405 make Close call MPI_Comm_free in all Engines
Created by: williamfgc
Close now calls a derived class DoClose (private) function and free the Communicator if all transports are closed. Remove MPI_Comm_free from Engine destructor. Modified all derived engines to pass tests