cli: Ensure BuxtonClient is free'd for non-direct mode

Prior to this commit, buxtonctl leaks 16 bytes on my local 64-bit machine.

==27429== 16 bytes in 1 blocks are definitely lost in loss record 1 of 5
==27429==    at 0x4C291D4: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==27429==    by 0x4E33136: buxton_open (lbuxton.c:104)
==27429==    by 0x4048A6: main (main.c:271)

I'm also a bit unhappy about hashmap still, will look at that in the near future.