Use xdr() for encoding/decoding size

The XDR::xdr_ops function takes a signed value, requiring some coercing
to us it for the unsigned size value.  Use our API instead to clean up
the code.