Avoid memory allocation while opening smackfs files.

Using openat() on pre-opened smackfs directory eliminates need to construct absolute path to a smackfs file before opening it.

This patch is very similar to 0426039, so maybe I missed some shortcomings that should be improved. Differences:
- Fixed `verify_smackmnt()` returning 0 and not setting `smackfs_mnt` when a read-only smackfs is found.
- Dropped changes to utils/common.c. This part caused a build break and led to exporting of internal libsmack variable to external program.