Use REXML to generate request documents

Switch to using REXML to generate request documents in `Worksheet#save` instead of creating the documents using heredoc strings. This avoids unnecessary whitespace and makes the requests more compact. At least for me this helped address the issue with timeouts once the batch command crossed a certain (unknown) limit.

So far I've only updated the `Worksheet#save` method but not other methods that also generate XML request documents. If you are willing to accept a pull request then I'll help convert the other methods as well. If it's just for my own projects then I'll probably not bother since I really only need the Spreadsheet related functionality.

This pull request includes my previous changes to make the batch size configurable as well. I'm submitting it as a separate request in case you are ok with the batch size changes but not the changes in this request.