libbuxton: use wrapper functions for get_name() and get_group()

Some API functions are useful for both public and private code;
buxton_get_group() and buxton_get_name() are two examples.

Since private code should not be using the public API, make these two
functions wrappers for internal equivalents.

Also, use get_group() and get_name() where appropriate.
build: cleanups for libbuxton linkage

Both bt-daemon and libbuxton-security no longer use the public
libbuxton API, so remove the linkage.
test: Reorder daemon fork to test in parent

To keep consistent with check_buxton tests, have the function calls
that are being tested be run in the parent not the child.
test: Fix missing test coverage

Because _exit (2) does not seem to call the statistic gathering
cleanup code gcc embeds buxton coverage was not being gathered after
forking. Fix this by moving to exit (3) which does not break make
check thankfully.
test: Add tests for client notification
daemon: fix client Smack label handling

The fgetxattr() call here is for the client sockfd on the server, so the
Smack label returned is not the one we need. In fact, it label value
appears to be floor regardless of the label bt-daemon runs with.

To fix the issue, we need the actual label from the client end of the
socket, found in the SO_PEERSEC option value for the client sockfd.
smack: check for smackfs first

When Smack support is not enabled, a valid SMACK_LOAD_FILE is not
sufficient to track Smack support in bt-daemon, since SMACK_LOAD_FILE is
redefined to test/test.load2 for tests.

Instead, check the absolute directory of the smackfs first, and set
'have_smack' appropriately.
smack: add accessor for Smack state

Use the accessor for one of the test cases that fails when Smack is not
enabled on the system.