Added streaming compression and schedule/size based rotation

  * Added a compress_on_write option which enables writing compressed
    logs directly.
  * Made file rotation respect both a schedule and size based
    reason to rotate the files.