Directly implement macros 6-10, add verbose mode

Rules 6-10 of tar are macros - they're not axiomatic, and they reduce to
simpler forms. Rules 6, 9 and 10 actually give you easy savings - 6 is
if, so you can skip evaluating the branch that won't be taken; 9 has
repeated computation that can be memoized; and 10 has wasted computation
that can be ignored. 7 and 8 are just non-axiomatic and can be
implemented with a pre-reduced form.