Fix unicode argument processing for py2

In python2, sys.argv is a bytestring of whatever encoding
is used by the terminal.  In python3, sys.argv is a list of unicode
strings.  This causes problems because the rest of the code assumes
unicode.

The fix is to automatically decode to unicode based on sys.stdin
as soon as we parse the args.

This was originally reported in #593, and
https://github.com/boto/botocore/pull/218.

I'll need to more investigation to see if this problem applies
to JSON files via file://, this commit only fixes the case where
unicode is specified on the command line.
Fix case where encoding is None

This happens in our unittest.
Fix bug in test where sys.stdin is None
Update CHANGELOG with unicode fix
Remove region check in s3 high level commands

Fixes #681.
Merge branch 's3-no-region' into develop

* s3-no-region:
  Remove region check in s3 high level commands
Merge branch 'unicode-args' into develop

* unicode-args:
  Update CHANGELOG with unicode fix
  Fix bug in test where sys.stdin is None
  Fix case where encoding is None
  Fix unicode argument processing for py2