Improve file handling
This refers to #32 addressing the following:
- Argument passing to constructors and functions was rationalised: config and control are passed and stored as references so it should be almost for free to get config and control information directly querying instead of copying stuff.
- There should be a single class dealing with directories and files: An OutputFileHandler class was introduced that deals with output file life cycle. This should be used by both types of filters but for now only OutputByOrbit has been ported
- The file close and rename should be made asynchronous and non-blocking, it should be moved to the class dealing with files: This is now handled through a synchronous bounded queue and dealt with in a separate thread. The size of the bounded queue is for the moment a fixed number (10) - need a strategy that takes into account the size of the files.
The code was tested in the b40 setup