Prepare global Environment singleton for PMacc
Edited after review-comments

-modefied Environment.hpp
-removed most of the forward declarations for class Environment
-removed some .tpp files
Made picongpu compile with the singletons from GameofLife
Integrated more Singletons in the Environment.hpp
add ParticleFactory to Environment

- make PArticleFactory getInstance private
- use Environment<> to get instance of ParticleFactory
- sove all dependencies
- fix all example compile time errors
Merge pull request #1 from psychocoderHPC/conrad-topic-Environment-addParticleFactory

add ParticleFactory to Environment
Merge branch 'topic-Environment' into topic-EnvironmentSingleton

Conflicts:
	src/libPMacc/examples/gameOfLife2D/include/GatherSlice.hpp
	src/libPMacc/examples/gameOfLife2D/include/Simulation.hpp
	src/libPMacc/include/dataManagement/DataConnector.hpp
	src/libPMacc/include/mappings/simulation/GridController.hpp
	src/libPMacc/include/simulationControl/SimulationHelper.hpp
	src/picongpu/include/fields/FieldB.tpp
	src/picongpu/include/fields/FieldE.tpp
	src/picongpu/include/fields/FieldJ.tpp
	src/picongpu/include/fields/FieldTmp.tpp
	src/picongpu/include/fields/MaxwellSolver/DirSplitting/DirSplitting.hpp
	src/picongpu/include/initialization/InitialiserController.hpp
	src/picongpu/include/initialization/SimRestartInitialiser.hpp
	src/picongpu/include/initialization/SimStartInitialiser.hpp
	src/picongpu/include/particles/Particles.tpp
	src/picongpu/include/plugins/EnergyFields.hpp
	src/picongpu/include/plugins/FieldEnergy.tpp
	src/picongpu/include/plugins/IntensityModule.hpp
	src/picongpu/include/plugins/ParticleDensity.tpp
	src/picongpu/include/plugins/ParticleSpectrum.tpp
	src/picongpu/include/plugins/hdf5/HDF5Writer.hpp
	src/picongpu/include/plugins/hdf5/WriteSpecies.hpp
	src/picongpu/include/plugins/output/GatherSlice.hpp
	src/picongpu/include/plugins/output/images/ParticleDensity.hpp
	src/picongpu/include/plugins/output/images/Visualisation.hpp
	src/picongpu/include/simulationControl/MovingWindow.hpp
	src/picongpu/include/simulationControl/MySimulation.hpp
Made a clean Singleton implementation with commented Changes
Splited the Init Function of Environment.hpp in initDevices and initGrids
Implemented new Init in GoL and moved setDevice to Environment.hpp
Changed deinit() to finalize() in Environment
Merge pull request #254 from c-schumann-zih/topic-EnvironmentSingletonRenameClean

Topic environment singleton rename clean