Fix wrong accesses to Dimensions classes

 - change &obj to obj.getPointer()
 - reduce line lengths to about 80
Compile Suite git integration

- get new work from git_status_proxy
- report back
Fix JSON escapes and export

- rm .git dir and .gitignore, too
- escape special chars in JSON output message
CMake: include thread lib

- add FIND_PACKAGE(Threads REQUIRED)
- fix cuda_memtest build
- prepare PIConGPU for the same dependencies
Decode allJSON and clean conflict result

- if a merge conflict occures, set the
  failure status and exit in a clean way
- decode all JSON data, not only URLs
  (for example, if someone uses / in a
  branch name)
Fix some -Wextra warnings

- for  the brave and venturesome ;)
Enable -Wextra for GCC and fix warnings

- fix nearly all -Wunused-parameter warnings
- still got cuSTL algorithm ForEach Warnings for Lambda Calls
  from DeviceMemAssigner.hpp
- Wextra activated but unused-parameter deactivated so far
fix lambda lib

- make_Functor.hpp: store references instead of values in argTuple
- Tuple.hpp: add a contructor which accepts non-const references
algorithm::host::Foreach add 1/2D, SphericMapper

- (implemented) algorithm::host::Foreach can work on 1D and 2D containers now
- (cleanup) Since sm_20 we can use also z-blocks > 1 in the CUDA grid, this
            patch simplifies the syntax for SphericMappers
Use more Vectors and Fix GetMax return type
Use Shrink() and new name GetRange
implement perfect forwarding within lambda functors

- every non-const reference argument of a lambda functor is converted to a refWrapper.
  Therefore the arguemnt tuple can be forwarded inside the lambda functor as a const reference.
  All RefWrapper values are converted back to non-const references before they are used.
implement perfect forwarding within lambda functors. Add forward.hpp

Whenever a templated functor is called the arguments are supposed to be
forwarded:

functor(arg0, arg1, ...); -> functor(PMacc::forward(arg0), PMacc::forward(arg1), ...);

"forward" converts every object form which a non-const reference can be build to a RefWrapper object.

- every non-const reference argument of a lambda functor is converted to a refWrapper.
  Therefore the arguemnt tuple can be forwarded inside the lambda functor as a const reference.
  All RefWrapper values are converted back to non-const references before they are used.
removed unneccesary PMacc::
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
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
Rename dataCollector to domainCollector