swift-sim: handle empty files (fixes #126)

For ease of selecting headers in tests, they now set a class with the
header name. We might end up using these classes in the application
later.
swift-sim: use Content-Type in putObject (fixes #119)
swift: send string data as Blob in uploadObject

Without this, Firefox unconditionally adds a "charset=UTF-8" to the
Content-Type header when making a PUT request with a string payload.
Sending a blob instead disables this behavior. See:

  http://stackoverflow.com/a/24468295/110204
swift: send custom headers in uploadObject (fixes #127)

We now include the older headers in the PUT request after editing an
object. Without this, the Content-Type and metadata headers disappear
after the edit.
swift-sim: simplify putObject

We now only PUT Blob objects, so we can simplify the method.
Merge pull request #129 from mgeisler/correct-upload-headers

Correct upload headers