Fixes for 2 nscd interaction issues:
- if we cannot open the connection to the cache server, that is UNAVAILABLE, not NOT_FOUND
- when doing a "mp" read (multipart) the nscd server returns -1 on end of stream (and only then). we then pull that in to our local error code where it overlaps with existing -1 error status and we lose the ability to disambiguate a -1 from the remote end indicating end of stream and an error in our code. Fix here is to invert errors from the remote side and use that to determine end of stream. Also fix the return code. if res==0 then it is success, unless we cannot unmarshal, then return that code as is. if res==1 then it is end of stream (and NOFOUND), otherwise it is a system failure (and UNAVAIL).
Note this is the _mp_ cache reader only