clean math::vector and DataSpace

- add toString method for math::vector
- rename math::vector.volume method to productOfComponents
- delete all methods in DataSpace which not return a DataDaspace and are defines in math::Vector
use toString to print DataSpace
add changes which were annotated by ax3l
Merge pull request #138 from psychocoderHPC/topic-cleanVector

Refactor Vector/DataSpace implementation
Start enabling parallel libSplash support
 - use ParallelDomainCollector
 - add outgoing param in WriteSpecies
(De)Allocate dataCollector only on mod (un)load
Enable restart from parallel hdf5 files
Require parallel libSplash in cmake
Change index table for only include part. counts

 - index table only including counts (no offsets) prevents MPI_Allreduce
 - particle offsets are computed when reading the index table
Improve writeField in HDF5Writer
Fix globalSize/Offset in writeField
Remove local domain info for parallel write
Add prefix to write and add log message for load
Fix offsets and particle info table for parallelIO

 - improve description of domain offsets/sizes
 - add scalar position for GPUs
 - rename mpi size and rank in CommunicatorMPI
 - add 5D particles_info table to HDF5 to allow particle restarts
 - fix offsets for writing/reading fields
 - allow virtual slides at restart (re-create last GPU/position configuration)
 - change std::cout to pic log messages
Fix collective read and log message

 - all processes must participate in collective read (even without data)
 - fix log message (wrong param number)
Start enabling parallel libSplash support
 - use ParallelDomainCollector
 - add outgoing param in WriteSpecies
Enable restart from parallel hdf5 files
Change index table for only include part. counts

 - index table only including counts (no offsets) prevents MPI_Allreduce
 - particle offsets are computed when reading the index table
Improve writeField in HDF5Writer
Fix globalSize/Offset in writeField