Fix assert_(not_)?empty for tuples using .format

Previously, the message for these was being generated using an expression like:
    message = '... %s ...' % iterable

Because the % operator interprets a tuple as a list of values to interpolate rather than a single value, using these assertions on tuples without exactly one value was raising exceptions about the format string. (Tuples with exactly one value just got a slightly incorrect error message.)

This commit fixes the problems and tests both assertions with both an empty and a non-empty tuple.