library: Connect and shutdown correctly

The client application doesn't need to be exposed to Buxton internals,
so a BuxtonClient is initialised on demand to retain one connection
with the daemon.

We also install an exit handler that ensures we close down the
Buxton daemon connection, which is called before Buxton's internal
exit handlers, ensuring a clean shut down chain.

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