fix: gcc crashing the client

This workaround lowers the optimisation level for those parts of the code,
that gcc 4.7 (and probably other versions) would compile to a binary that
crashes after a while. The previous solution for this so-called "linux bug"
was to use clang instead of gcc.

Thx, Jpablon, for doing all the work on this.
filter reserved windows filenames

this patch prevents the use of map names like COM1 and PRN for all clients,
so that windows clients wouldn't hang because of the map name

Thx, Jpablon
substitute non-portable printf format string

the printf format "llx" can not be used on all platforms (for example,
mingw uses a different name for it)

this patch provides a function, that manually converts a 64-bit integer
to a hex string

Thx, Jpablon