Multi Species Particle Load from hdf5

- rewrite how partilces are loaded from HDF5 file
- add support for arbitrary species count
- particles load now done on gpu
- remove old method
- SimulationHelper: show init time in output

**Please do not merge before #514**
No, but we always put `__syncthreads();` after we define shared memory. `cuda-memcheck --tool racecheck` shows sometimes warnings if we not do this. I have not checked if it is still the case in the new cuda versions or if it is a bug in `cuda-memcheck`.
We use this workaround over a half year. I open a issue for this.