Adding support for running process as a daemon.
- Removing unneccessarily virtual destructors.
- SigChld handler now re-establishes handler as well as saves errno which can be modified by the call to wait.