Fix bug in response body when using upsertList with one item

The XML parser returns a hash for:

    @response.body[:upsert_list_response][:write_response_list][:write_response]

when there is only one record upserted.  I added a test to reproduce the
bug and fixed it by making sure the value of `:write_response` is always
an array.

    > Array[{a: 1, b: 2}].flatten
    => [{:a=>1, :b=>2}]
    > Array[[{a: 1, b: 2}]].flatten
    => [{:a=>1, :b=>2}]

If you know a better way to ensure an object is wrapped in an array, let me know!