bringing the encapsulation branch into line.
Merge branch 'feature/encapsulation' into develop

Conflicts:
	include/data_type.hpp
	include/parallelism.hpp
	include/surface.hpp
	src/parallelism.cpp
	src/sampler.cpp
	src/surface.cpp