Fix all warnings:  Linux, Windows-64, Windows-32

Minimum changes to fix all warnings for linux, windows builds.

I have specially reviewed these five modules, where I have added typecasts of (int) --
* src/plugins/perl.c
* src/common/dcc.c
* src/common/hexchat.c
* src/common/plugin-timer.c
* src/common/text.c

and they all seem for one reason or another to be the most reasonable fix.  As to how to format a time_t compatibly for 32- and 64-bit systems, for example, http://stackoverflow.com/questions/11748247/size-of-time-t-and-its-max-value shows it to be ambiguous (src/common/hexchat.c).
If you must cast, atleast cast the smaller type to the larger one instead of the other way around.

strlen returns a size_t, which is implementation defined but probably an unsigned int or larger. Casting it down to int loses information; the other side must be cast to size_t instead.

Note that it is not safe to directly cast a signed int to a size_t, since a negative int can become a large positive size_t. Instead, the int should first be checked for being less than 0 first (in which case it can't be greater than any result of strlen), and only after that should it be cast to size_t and compared to the other size_t.

You can of course skip the &lt; 0 check if you know the int cannot be negative.