Simplified classes
Simplified Result and Error instantiation
Moved xml parsing inside Result class
Change custom error class to behave more like an error
Rubify file name generation
Create a universal http method and instance. Remove redundant url=path assignments
Minor: clean up whitespace
Moved duplicated header code into headers method
Formatting: re-arranged methods for clarity. Added section comments