Implemented Revoke, and updated GetOrderByPartnerOrderID

GetOrderByPartnerOrderID should now return all associated metadata with the order. I wanted to get this in now, but am aware that I will need to rebase after Paul G's latest PR lands. Also implemented a function, xml_to_dict, that could be useful. Let me know if it should be stored somewhere instead of order.py or if it is just unnecessary.
Just an observation that only the 'if success' portion of the various 'def response(...)' methods in this module seem to vary. Defining this method on the BaseModel and then having the success path executed as a template method by sub-classes might save lines of code.