Fix parsing of EMR step summary response.

EMR step summaries can now contain a `<Config>` section that includes a list
of arguments. The argument list contains items wrapped in `<member>` and this
gets picked up by the step list parser to incorrectly create blank EMR step
objects. The fix is to parse the config and arguments so that they don't
bubble up to incorrectly become new step objects.
Add pypy to tox config
Add test for EMR step config, fix bug
glacier module: tidy up to meet PEP8 better
Update wheel to be universal for py2/py3
Fix Glacier fileobj hash calculation.

Fixes #2488 by only decoding from `bytes` when necessary. This remains
backward compatible with the existing Python 2 behavior while fixing
the regression. Going forward, Python 3 **requires** that binary files be
opened in **binary** mode.
Added mock to requirements
Remove redundant __future__ imports

See https://docs.python.org/2/reference/simple_stmts.html#future
Use ConfigParser for Python 3 and SafeConfigParser for Python 2 (#2497)
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.
Several fixes for Python 3 behavior.

Attempts to throw a useful error if a file is passed in but not opened
in binary mode on Python 3. If a file-like object without a `mode` param
is passed in instead, then we make every attempt to decode to bytes,
falling back to UTF-8 if no encoding is specified.
Remove custom mock install now that it's in requirements.txt
Merge branch 'kz9676-fix-missing-mock-requirement' into develop.

Add missing dependency to requirements.txt. Fixes #2494.
Merge pull request #2492 from alexkonradi/bugfix-binary-non-ascii

Fix dynamodb.types.Binary non-ASCII handling. Fixes #2492, #2491.
Revert compat change for FPS from 96cd2800b6db067e503ef499486adf50ee9ca928
Merge pull request #2496 from nicorevin/redundunt_imports

Remove redundant __future__ imports. Fixes #2496.
Merge pull request #2498 from piotrbulinski/ConfigParser_py3

Use ConfigParser for Python 3 and SafeConfigParser for Python 2. Fixes #2497, #2498.
Merge pull request #2469 from felixonmars/glacier-tidy

PEP8 fixes for Glacier. Fixes #2469.
Switch to os.urandom to generate data
Add comment about encoding [ci skip]