Unnecessary processor topology recompilation

From issue #42: it is unnecessary to recompile the code when we change the processor topology. The number of subdomains in each direction is how given iniside the input file.

The modifications are based on the code implemented in:
alecjohnson/iPic3D@8b81a53ea9b33f5de5f4d462dafa8e7621c7b759
alecjohnson/iPic3D@2ac8e7644b3b375e20a2711bd616b53782968e31
alecjohnson/iPic3D@51fa54df43b27816eabe6922e9a3cfd59ece6679

The GEM.inp file has been modified to include the new input options.

From issue #50: CollectiveIO is an abstract base class that is not really used. CollectiveIO was eliminated. All calls to CollectiveIO are now set to Collective.

The Makefile has been updated.