Enhancement :: Logging : Compression (gzip) for archived log files

Adds compression to rotated log files.

Primary log file remains clear text, archived/rotated (.#) logs are stored in compressed form (.gz).

When log rotation is called, the newest archive log (.1.gz) is compared to LOG_SIZE variable. If size not yet reached then primary log is appended, else logs get rotated.

One note of clarification. A few decompression tools do not support multiple gzip blocks in same file, and will only decompress first block. Most (common) tools do support it. The alternative would be to decompress, append and then compress again, which involves more disk trashing, temporary files, CPU and memory usage at no significant gains.

On another note. I'd like some feedback on whether I should make compression a config option? And if so, just config.ini or web GUI also?