Initial delayed action. Needs better error reporting and to spawn less p...

...rocesses.
@isupeene Compile details in compile.txt. Still needs to give a useful error message if the underlying system call fails. Also made it fork for now but the problem says we should limit the number of processes we spawn. I am thinking we have to either fork or thread. If we thread though we might want to make this a class that becomes its own process that then spawns threads per delayed_action and the class has a function that just never ends so the threads are not prematurely terminated.
Can you add the required headers to source control, so we don't need to rely on them being present on the computer it's run on?