Don't treat ValueErrors as a condition for retry

When using s3cmd sync, I would often encounter the following situation:

    WARNING: Retrying failed request: ************ (need more than 1 value to unpack)
    WARNING: Waiting 3 sec...
    ************ -> <fdopen>  [10 of 417]
     0 of 0     0% in    0s     0.00 B/s  failed
    WARNING: Retrying failed request: ************ (need more than 1 value to unpack)
    WARNING: Waiting 6 sec...
    ************ -> <fdopen>  [10 of 417]
     0 of 0     0% in    0s     0.00 B/s  failed
    WARNING: Retrying failed request: ************ (need more than 1 value to unpack)

Clearly this will continue to fail due to a programming error, so this
commit makes s3cmd fail hard.  A more encompassing exception class
(perhaps even StandardError) might be more appropriate, but I figured
this would be a good start.
URL decode attributes header

The x-amz-meta-s3cmd-attrs header seems to have been changed so that
it contains URL-encoded text