Use unsigned type for `size'

`size' is only signed so that it conforms to the respecitve xdr_ops
signatures.  Make this an unsigned variable and use a copy with xdr.
Move const value encoder to top

When the code is added to a namespace this stopped working (i.e., the
compiler could not figure out what to do if the passed value was const.)
Moving this definition to the top of the header fixes the problem.  I am
not sure if this is resolving a real issue with regard to the spec, or
if it is just a weird thing with GCC.  I might try to figure this out
later.
Move everything into `xdrpp' namespace