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
Furthermore, since failure of getzoneid() leads to the same return as we get below, it makes more sense to make this assignment conditional on zid >= 0:
```
int ok = -1;
#ifdef HAVE_GETZONEID
zoneid_t zid = getzoneid();
if (zid >= 0) { ok = getzonenamebyid(zid, s, ZONEMNAME_MAX); }
#endif
return ok;
```