S3 Metadata: add failing test case for plus signs

Without adding your own encoding layer ontop of boto's, there is no way
to reliably store and then retrieve meta-data values that contain plus
signs. quote_plus leaves existing pluses as they are while encoding
spaces as "+". This turns a value like "x+ +x" into "x+++x" which upon
retrieval from S3 using boto is decoded into "x   x".

A further commit will fix the bug.
S3 Metadata: allow storage of plus signs (+)

Previously, there was no way to reliably store and then retrieve
meta-data values that contained plus signs. quote_plus left existing
pluses as they were while encoding spaces as "+". This would turn a
value like "x+ +x" into "x+++x" which upon retrieval from S3 using boto
would be decoded into "x   x".

This change allows storage of plus characters "+" in s3 key metadata
values.
Merge remote-tracking branch 'iFixit/s3-meta-data--handle-plus-sign' into develop

Fixes #2145.