Fix getxattr to return proper value

We were freeing memory before returning it far enough to get to the
user. This is in reference to Issue #331. Now, the value of an xattr is
stored within the XAttr class instead of pointing to what the user gave
us. The length of the xattr is now also stored in the XAttr class for
book-keeping purposes. The XAttr destructor now frees properly.
Add method for getting at an XAttr vlen.
Remove double memcpy as XAttr constructor does its own memcpy

Follow-up commit for issue #331.
Merge pull request #334 from dshrader/master

get plfs_getxattr to return the proper value