Add {assert,expect}_command to unittest

The new assert_command and expect_commad functions of unittest allow for
executing a command and validating any combination of its exit code, stdout
and stderr.

These new functions are added to an auxiliary module within the private
unittest subdirectory because their implementation is huge.
Add equal and not_equal check operators

This adds new assert_equal, expect_equal, assert_not_equal and
expect_not_equal tests to the unittest library.
Convert base_test to unittest
Convert bool_test to unittest
Convert cleanup_test to unittest
Convert cli_test to unittest
Convert config_test to unittest
Convert cvs_test to unittest
Convert list_test to unittest

While doing this, fix the filter function to output the filtered results
as a single line instead of multiple lines.  Allows for equality comparison
of the results.
Convert process_test to unittest
Convert shtk_test to unittest
Convert version_test to unittest
Stop using ATF in favor of our unittest module

All of our test programs have been converted to our own unittest module
so we need not use atf-sh any longer.  Remove all mentions of ATF.
Add support for one_time_{setup,teardown}

These methods can be used to run one-time initialization and teardown
code in the script.
Document the unittest module in manpages

This adds the manual pages: shtk_unittest_add_fixture(3),
shtk_unittest_add_test(3), shtk_unittest_assert_command(3),
shtk_unittest_assert_equal(3), shtk_unittest_assert_not_equal(3),
shtk_unittest_delayed_fail(3), shtk_unittest_expect_command(3),
shtk_unittest_expect_equal(3), shtk_unittest_expect_not_equal(3),
shtk_unittest_fail(3), shtk_unittest_main(3),
shtk_unittest_set_expected_failure(3) and shtk_unittest_skip(3).
Add {assert,expect}_file to unittest

The new assert_file and expect_file functions of unittest allow the
caller to validate the contents of a file against predefined golden
contents.

These functions support an extense variety of checks (like comparing
files, matching regular expressions, using inline data, etc.).  In
fact, this change is just exposing the part of the already-existing
assert_command check that implements stdout/stderr tests as their
own primitives.

As part of this, replace duplicate and ad-hoc assert_file_contents
functions from test modules and use the new functions.
Validate arguments in shtk_unittest_main

unittest-based programs do not support any arguments on the command line.
Make sure there aren't any and error out accordingly.