Improvements to beast::unit_test framework:

* Some runner member functions are now thread-safe.
* De-inline and tidy up declarations and definitions.
* arg() interface allows command lines to be passed to suites.

Reviewers: @howardhinnant, @nbougalis 
Stupid question: What does `template <class = void>` get you?