Improved 'upload' device to support more response protocols by using an adapter object with decode_success and decode_error methods, for instance to decode XML responses instead of text responses, the adapter object must register itself with xtiger.registry as 'protocol.upload'.