Fix a bug in tinys3 sometimes making upload part result in 403.

Subresource canonicalized URL query parameters are part of the string to sign
to authenticate a request to a S3 server. The problem is that those parameters
must be lexicographically sorted while added to the string to sign. tinys3
added those to the string, but not lexicographically sorted. Not sure why it
sometimes worked, and sometimes raised a 403 Forbidden error, though.

- Add a 'key' parameter to tinys3 HeadRequest to allow performing such requests
  on keys (see below)

- Add the Connection.head_object method, to perform a HEAD request on an object
  (just to check its existence)