Fix dynamodb.types.Binary non-ASCII handling

Python 2.6/7 strings are used for both text and non-ASCII byte strings. Since
the boto.dynamodb.types.Binary type is used for representing binary (and likely
non-ASCII) data, encoding and decoding the internal string representation as
UTF-8 doesn't make sense. This commit fixes the Python 2 version of Binary.
Merge pull request #2492 from alexkonradi/bugfix-binary-non-ascii

Fix dynamodb.types.Binary non-ASCII handling. Fixes #2492, #2491.