Store some global variables in a new struct

Instead of storing our file descriptors, etc, in static variables, we now
store them in a BuxtonDaemon struct, enabling us to pass this BuxtonDaemon
struct around. This will also facilitate breaking up the main loop
into smaller functions, and even split into multiple files.

Signed-off-by: Michael Ikey Doherty <michael.i.doherty@intel.com>