Upgrade guzzle_sphinx_theme to get sitemap functionality

I also moved all the theme.conf overrides into our own
conf.py file.  This is where CLI specific values should live,
so that way we can pull in theme updates easily.
Merge branch 'docs-sitemap' into develop

* docs-sitemap:
  Upgrade guzzle_sphinx_theme to get sitemap functionality
[profile testing]
Merge pull request #372 from cbare/develop

[profile testing]
Rework s3 command tests

This reworks the s3 integration tests that run the
s3 command.  It makes two major changes.

1) Tests are more self contained.  There's no more implicit state
   from helper functions you have to track down.  Each test shows
   what objects it creates
2) Verification is done at the botocore level rather than at the
   s3 cli level.  This way we're using an alternate means to validate
   the tests.

The overall goal is to make it easier to add these types of tests so
we can have a high coverage for these "acceptance" tests.
Python 3 fixes, decode to utf-8
Add test for image/png content type

cc @toastdriven.
Merge branch 's3-test-cleanup-r1' into develop

* s3-test-cleanup-r1:
  Add test for image/png content type
  Python 3 fixes, decode to utf-8
  Rework s3 command tests
Use multipart uploads when necessary with mv command

Fixes #369.

The issue here was that the 'mv' command was not being tested
for multipart uploads so any time you used a 'mv' command we'd always
try to use a single PutObject operation.

The fix boils down to the `_is_multipart_task` method which shows
when something is a multipart upload task.

Long term I think most of this logic will be refactored into it's own
separate class but this fixes the issue for now.

Also, a 'mv' command was implemented as a 'cp' command plus a removal
of the local file.  This required a small update to the
MultipartUploadContext object that allowed for threads to wait on the
completion of a multipart upload.  There's a new RemoveFileTask object
that will only run once the associated multipart upload task is
complete.

Verified the `mv`'ing a multi GB file keeps memory usage under 200 mb.
Fix test on windows

A png file is guessed as image/x-png sometimes, as windows has
mime type info pulled from the registry.

Using an extension of jpeg, which works the same on all the platforms.
Don't assume utf-8 for stdout/stderr

In other words, fix tests so they run on windows properly.
Look for encoding of original stdout

As things like nose plugins can swap out sys.stdout
with StringIOs which don't have encodings.  Verified
this passes on windows with nose plugins enabled.
Account for case where encoding is defined and None

This ensures that encoding is never the value `None`.
Remove unicode tests with quiet flag

Don't try to print unicode output in CI environments.
Merge branch 's3-multipart-move' into develop

* s3-multipart-move:
  Use multipart uploads when necessary with mv command