[#1391] Refactor Unix daemon.

Problem description
===================

This branch started as a refactor to allow keeping files between the main process and the forked daemon.

After some work I decided to extend the changes.


Changes description
===================

I have refactored the interface for IDaemon.

The ChevahDaemon was renamed to just Daemon and for the future I prefer to remove Chevah prefix from the code.

getOpenFiles method is called to return the list of files to be keep in the forked daemon.

start() and stop() were renamed to onStart() and onStop() to signal that they should not be called directly.


How to try and test the changes
===============================

reviewers @alibotean @bnickname 

Check that interface make sense.