Account for daylight savings time in timestamps

DNS servers depend on the 'TZ' environment variable for local
time-zone information, as file '/etc/localtime' is inaccessible.
Earlier 'TZ' variable's value did not account for the daylight
savings time. Because of it, the timestamps in log files were off
by one hour, in countries where DST applies.(see [1])

This patch updates the 'set_timezone' routine to add DST identifier
to the 'TZ' environment variable. Now it follows the format

    TZ = "<STD><offset><DST>"

Where

    STD = standard time-zone name
 Offset = offset from UTC, ex: +5:30 hrs.
    DST = daylight savings time-zone name.

Absence of DST offset implies the default offset of one hour.
--
[1] http://www.timeanddate.com/time/dst/
New function to read timezone information

Added a new function 'gettimezone', to read local timezone
definition from '/etc/localtime'. It returns a POSIX TZ
environment variable string or NULL in case of an error.

Reading this definitions ensures that DNS servers always
follow local system time, accounting for Daylight Savings Time
whenever applicable.