refactor cudaEvent usage

- add `CudaEvent` which is a wrapper for cudaEvent_t
- solve problem that `cudaStreamWaitEvent` was called to often
- EventStream: add function `waitOn()`
change github anotations

- fix documentation typos
- change interface from copy by value to const reference where CUDAEvent is used as input parameter
Merge pull request #536 from psychocoderHPC/topic-cudaEvents

refactor cudaEvent usage
fix #538 traverse frame list

- given momentum in `kernelSetDrift` was not correct set
- nvcc optimize out variable `isParticle` (workaround: set isParticle volatile)
fix documentation
Merge pull request #539 from psychocoderHPC/fix-traverseFrameList

fix #538 traverse frame list
Restart for Plugin BinEnergyParticles

The old text file is opened, filtered for previous values and
pre-pended to the new file during restarts.

The old implementation made a manual copy-and-join of the output
necessary.