extend Solaris ps output to include unrestricted command length and append zone info 

Commit contains these squashed commits:

commit 81f19834f5a8c889a3ca00e8054188253bc73c10
Author: Matthew Cattell <matthew.cattell@cfengine.com>
Date:   Fri Jun 20 00:43:27 2014 +0200

    make sure zone header shows and ensure zone name appended to end of line

commit de8518c7fb75582063a26bcc4d6c5160d6ede1ac
Author: Matthew Cattell <matthew.cattell@cfengine.com>
Date:   Fri Jun 20 00:31:26 2014 +0200

    add zones wrapper to get zone name

commit 8687a20ebd3750fff66c77e683b29138e1e60d10
Author: Matthew Cattell <matthew.cattell@cfengine.com>
Date:   Fri Jun 20 00:27:41 2014 +0200

    add zone column to end of ps output
There is nothing good about embedding this assignment in a conditional.  There are places where doing so can simplify code (in a while's condition, or that of an else if) but nothing about this is improved by it.
```
zoneid_t zone = getzoneid();
if (zid < 0)
```
is manifestly clearer.