Revert "Use forward_list where possible"

This reverts commit c9f213929751912542c88c939be46aa032788216.

Conflicts:
	pipline_concept/include/datapool.hpp
	pipline_concept/include/jsonparser.hpp
	pipline_concept/include/pipelinefactory.hpp
	pipline_concept/src/jsonparser.cpp
	pipline_concept/src/pipelinefactory.cpp
	pipline_concept/src/pipelinefactorybuildfunction.cpp
Remove some clutter
Improve Data ID generation - no useless mutex locking any more
Add constructor to exception classes that allows a message stack
Add CMake as build tool

It uses clang - clang is faster (compile and runtime) and provides the
sanitizer

Use after installing cmake:
  mkdir build && cd build
  cmake ..
  make

other options are:
  debug_address_full_flags  This option helps with address bugs but is
                            slower that debug_address
  debug_address             This option helps with address bugs
  debug_memory_flags        This option helps with memory bugs
                            (very experimental)
  debug_thread_flags        This option helps with thread bugs like data
                            races
  documentation             generates the documentation with doxygen

This is my first time ever use of cmake - take everything with a grain
of salt - but so was the makefile (which I didn't even write my self)

It is way more flexible and easier to use than the makefile - you have
to spend quite some time with cmake though
Merge branch 'build_tool' into pipeline-dev