acu74748 Add general Sax XML parser

This parser will parse an XML string and produce a Ruby Hash representation of the XML.
acu74748 Special handling of nodes with empty text

e.g. <description></description> should become a hash with key "description"=>"", not "description"=>{}

This is to match how the JSON comes back for the same situation.
acu74748 Fix handling of a single node XML

Should produce equivalent as JSON response, which is an empty array.
acu74748 Miscellaneous SaxParser fixes

Fixes
- Set a text value to nil when nothing is contained in the XML node
- Properly handle the degenerate case of an empty API response (for example, with just <credentials />)
Merge branch 'master' into yellow_13_02_acu74748_api_response_parser
acu74748 Relax dep on activesupport version
Merge pull request #1 from rightscale/yellow_13_02_acu74748_api_response_parser

acu74748 Add general Sax XML parser