Prepare global Environment singleton for PMacc

Pull request to discuss how to implement a single global Environment singleton in libPMacc, related to this [issue](https://github.com/ComputationalRadiationPhysics/picongpu/issues/91).

It seems so far that a splitting into hpp and tpp files is necessary for classes that use `__eventsystem_macros` which moved into the new Environment.hpp.
This has been tested for TaskKernel and Buffer which need to be included in EventSystem.hpp now (whichis not great). However, more problems remain:

```
/home/schuma/picongpu_src/src/libPMacc/include/cuSTL/algorithm/kernel/run-time/Foreach.hpp(103):
error: too few arguments for class template "PMacc::Environment"
```

Any ideas on how to solve this better would be greatly appreciated :)