refactor compileTime functors with boost lambda

- types.h: add namespace bmpl as global default for boost::mpl
- Identity.hpp: Identity<> inherit from boost::mpl::identity
- include/compiletime/*: use new lambda notation to define operators
- fix all pmacc parts which use compileTime operators
refactor compile time operators

- use new compile time lambda operators of pmacc
- refactor selfe defines compile time operators
add non const operator() in ForEach
fix wrong rebase merge
change github anotation

- update copyright years
- change comment
change gitHub annotations

thanks to @f-schmitt-zih
Merge pull request #380 from psychocoderHPC/topic-cleanUpOperators

refactor compile time operators and ForEach
delete TVec, rename TVaec usage

- rename TVec useage to math::CT::Int
- change all inlcudes of TVec to compile-time/Int.hpp
change TVec::elements call

change TVec::elements call to math::CT::volume<...>::type::value call
change ::x to ::x::value
prepare Vector and DataSpace

- math/vector/Vector.hpp:
  - add toDim3() function to create cuda dim3 data type out of a vactor
  - add implementation for operator-(vector,scalar)
- math/vector/compile-time/Vector.hpp:
  define toRT() as static (better kompatibility to old TVec::getDataSpace usage)
- DataSpace.hpp: minimize implementation for operators which are already defined in math::Int (the base type of DataSpace)
change type in MappingDescription

- change type from uint32_t to int to avoid to many explicit casts
- StrideMapping.hpp: add explicit casts for stride value
use new CT::Vector acces to values
rewrite SharedBox for new CT::Vector

- change template interface to specialize SharedBox by number of components (dimension)
- add T_ to template parameter
- use typedefs for result types
fix GoL example

use new CT::Vector
fix all usage of TVec and implizit dim3 casts
delete unsed variables
change github annotations

modify comments (thanks: @ax3l, @f-schmitt-zih)
fix rebase bug