* tests: consolidate redundant, duplicated helper code
These functions currently exist in a sourced shell library, but there is
an identical copy of them in a single test file. Get rid of this
duplicate definition.
* tests: mark some tests as skipped if bc is not installed
`exit 77` is the GNU exitcode protocol for tests that cannot be run
because their prerequisites are not available. If `bc` is not installed,
and it often isn't, the test can be short-circuited instead of failing;
meson will report them in "warning yellow".
* tests: mark some tests as skipped if support is not compiled
Not all test cases can be cleanly marked as skipped -- sometimes,
multiple things are checked, and having one be unavailable should not
mean skipping all tests.
But in a couple cases, a test file only tests one thing, and that may be
skipped. In such cases, it can be semantically indicated in the test
harness report collection, that a skip occurred.