Updated behaviour of the PipelineApplication::exit() function. This
change avoids a segfault caused by infinite recusion and changes the
number of termination signals before 'unsafe' cleanup from 3 to 1.
Fixed compiler warning due to order of initialisation list.
Fixed typo in warning message
minor hack to complier options for clang (behaviour unchanged)