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.
Which headers to you mean? The time.h that delay.c uses? or do you mean the ruby.h and config.h that are required for compilation? The ruby.h and config.h ones are platform specific so idk if we should be using default ones regardless of platform.