Completer test should not depend on actual cfg file

If you enable a preview service in your real config file, you'll
get test failures.  Similar thing for plugins.

The fix is to point it at an empty cfg file so that we don't load
any real config files for unit tests.
Merge branch 'completer-test-preview' into develop

* completer-test-preview:
  Completer test should not depend on actual cfg file
Brings the CLI in line with pagination changes.
Updated to set data correctly.
A better fix for pagination.
Merge branch 'pagination-fix' into develop

Fixes #659.
Add note about configure being used to set preview services
Fix failing completer test
Update CHANGELOG with latest bug fixes
Adding support for all S3 canned ACLs (#663)

Adding all canned ACL names as documented in
http://docs.aws.amazon.com/AmazonS3/latest/dev/ACLOverview.html#CannedAC
L.
Merge branch 'asieira-develop' into develop

* asieira-develop:
  Adding support for all S3 canned ACLs (#663)
Update changelog entry for #663
compare s3's last modified time using server's timezone

S3's last modified time is stored in utc timezone,
but displayed in server's timezone.
Prior to this fix, no timezone calculation was made,
so test_ls_command.py kept failing for some timezones.

This fix tests displayed last modified time using server's timezone.
Fix hanging Ctrl+C on S3 downloads

This is a regression that was introduced when the IO queue/thread
was introduced (https://github.com/aws/aws-cli/issues/619).

The current shutdown order of the threads is:

1. Queue end sentinel for IO thread.
2. Queue end sentinel for result thread.
3. Queue end sentinel for worker threads.
4. .join() threads in this order:
   [io_thread, result_thread [, worker threads]]

Though the actual thread shutdown order is non-deterministic,
it's fairly common that the threads shutdown in roughly the above
order.  This means that the IO thread will generally shutdown before
all the worker threads have shutdown.

However, the download tasks can still be enqueueing writes to the
IO queue.  If the IO thread shutsdown there's nothing consuming
writes on the other end of the queue.  Given that the queue is
bounded in maxsize, .put() calls to the queue will block until space
becomes available.  This will never happen if the IO queue is already
shutdown.

The fix here is to ensure that the IO thread is always the last thing
to shutdown.  This means any remaining IO requests will be executed
before the IO thread shutsdown.  This will prevent deadlock.

Added unit tests demonstrates this issue.  I've also added an
integration test that actually sends a SIGINT to the process
and verifies it exits in a timely manner so can ensure we
don't regress on this again.

Note: some unit/integ tests needed updating because they were
using .call() multiple times.

Fixes #650
Fixes #657
Use only QUEUE_END_SENTINEL for triggering shutdowns
Fix failing unittests

Fallout from removal of .done and .interrupt.
Fix race condition in CreateLocalFileTask

It's possible that between the isdir() check and
the makedirs() check that another thread has come along
and created the directory.

We also need to make sure that any uncaught exception will
cause the download to be cancelled.
Add changlog entry for deadlock bug
Merge branch 's3-hang' into develop

* s3-hang:
  Add changlog entry for deadlock bug
  Fix race condition in CreateLocalFileTask
  Fix failing unittests
  Use only QUEUE_END_SENTINEL for triggering shutdowns
  Fix hanging Ctrl+C on S3 downloads
Add ability to immediately shutdown executor

Switch the task queue to a priority queue and allow
ShutdownThreadRequest (which originally were just the QUEUE_END_SENTINEL
object) to have a more important priority in the case that a user
has hit Ctrl+C.