Refinements to handling of ps fields overflowing under one another's headers

Previously I'd allowed that a (numeric) field might over-spill leftwards to under the previous heading but
* hadn't handled the implications that has for the next field leftwards; and
* hadn't allowed for a field over-spilling rightwards to under the next heading

I've seen both kinds of overflow in Linux's ps.
These commits address those issues.

Well, no *one* ps does all of these things, but each kind of deviation is inspired by at least some ps having done such a thing.  Aside from timeright, from the Jenkins run that actually provoked an earlier step down the road to this latest set of changes, all the actual examples here are contrived to exercise (and stress) the code; but they're all caricatures of things we've seen.  The one thing missing is examples of fields abutting (see the TODO - and I initially typed "abugging" which, though wrong, was entirely apt), which Matthew and I have definitely seen on Solaris.