On Linux the std::function formatter behaved differently to that on Darwin so we skipped the test on Linux, which we would like to avoid.
This patch removes usage of std::function in the test but attempts
to retain the test-coverage. We mainly want function types appearing
in the template argument and function argument lists.
Also add a char const* overload to one of the test functions to
cover the "format function argument using ValueObject formatter" code-path.