Refactoring, additinal tests and new feature

  * Added more tests for gziping files: the test with 20k of data is a good example to test this, but the other tests  were not modified
  * Refactoring: moved got EXIT from _rotate method
  * Created d_write method to write directly to the active file handle: in conjunction with exec_callback, this would allow to write to the active file handle, enabling, for example, to create headers for files
  * Added exec_callback method and open_call attribute: execute any operation when _open is invoked
    * Added tests for exec_callback
    * Added Test::Output requirement for testing: used as proof-of-concept to exec_callback