rewrite algorithm::ForEach, solve dependencies

- full rewrite of ForEach
  now call of operator(...) up to 4 arguments is allowed
- HDF5Writer: add functor for TmpFields and other fields
- energyDensity.kernel: change getUnit and getName to static
add documentation to HDF5 functors
update comments, add explicit type for FieldTmp operations

- add struct FieldTmpOperation whose used to define a solver for
  a species.
- HDF5Writer.hpp: delete getName() in for default field functor
add Heiko Burau to copyright list

- it was a wrong delete in a previous commit
fix compile time error in examples with ions and electrons
fix explanatory notes for pull request

- add FieldTmp.def with definition of class FieldTmp and
  FieldTmpOperation
- delete struct PhysField in Hdf5Writer.hpp
- fix typo in FieldTmp.hpp
update and fix comments

- use short notation description to descripe BOOST_PP commands
- fix same wrong documentation