Add unpack routine to event lib

This routine is part of the B. Kernighan work, The Practice of Programming.
It allows a clearly defined way to (de-)serialize structs into / out of a
character array.  This is a first step to switching the reading of events
into a cleaner, more maintainable format.
Updates to ct_file.c

First, there is no reason to specify a standard when compiling ct_file.
Removing the standard, removes the warning about the POSIX defined function,
fileno.

Second, some compilers do not like the typedef struct lines in both the
header and source file.  The source file line should be unnecessary.