Complete rewrite of C++98 variadic template simulation

Replace old method of simulating variadic functions with a new one which
is much more general and readable.  This is particularly useful for
people who want to define their own variadic functions which wrap
tfm::format().  This resolves github issue #6.

The old TINYFORMAT_WRAP_FORMAT macro has been deprecated by this change.
Enforce at least one value for formatting

Formalize the requirement that at least one value should be formatted in
addition to the format string.  This prevents a class of bugs in user
code and makes the C++98 variadic template workaround neater.
Tweak function reference docs to improve readability