cdecl99: Combine all the main command implementations.
The explain, simplify and declare (or type) commands are all virtually
identical. The primary difference is just which parser mode to use,
and which output mode to use, with the various combinations giving
the various commands.
Other than some very slight tweak to the formatting to handle "simplify"
with multiple full declarators, we can just implement one function that
does all three operations: a pretty nice cleanup.