Join timer thread in SQS test to avoid race conditions

This would cause occasional failures.
Allow service_name/region_name to be overriden

For Signature version 4, you can now explicitly set
the region_name/service_name that's used for generating
the signature.  If these attributes are set, then the
endpoint url is not used for determining the appropriate
credential scope.
Switch SQS to signature version 4

There were a few structural changes needed to support this
change.

To keep compatilibity with python < 2.7.3, we use the
queue.amazonaws.com endpoint because < 2.7.3 we can't
validate the subjectAltName of the SSL certs.

However, for sigv4, the service name needs to be 'sqs' and not
'queue'.  Ideally, the service name and region name are derived
from the endpoint, but we can't use the sqs.us-east-1.amazonaws.com
because this is the subjectAltName of the SSL cert.

This fix offers two mechanisms:

* The auth_service_name/auth_region_name properties on the connection
  class, which allows you to set these values:

    sqs = connect_sqs()
    sqs.auth_service_name = 'sqs'
    sqs.auth_region_name = 'us-east-1'

* An 'AuthServiceName' class attribute that will be used to set the
  auth_service_name value when the connection class is initialized.

This allows us to use 'sqs' for the credential scope required for
signature version 4, and allows us to use the queue.*.com endpoints
to ensure proper SSL cert validation for older pythons.

Also, the auth_region_name is automatically set to
self.region.name when the SQS client is initialized.  This allows
SQS to work properly with sigv4 in non us-east-1 regions.

Unittests pass, SQS integration tests pass.
Updating MIME module imports to allow py2exe to find modules
Added a command-line tool for Mechanical Turk.
[MTurk CLI] Provide one-letter nicknames for HITs.
[MTurk CLI] Slightly simplified argument-handling.
[MTurk CLI] Added an example configuration file for 'new'.
[MTurk CLI] Added a missing "in USD".
[MTurk CLI] Point out that only external questions are supported (for now).
[MTurk CLI] Documentation tweaks.
Add update capabilities to DBSnapshot

Conflicts:
	boto/rds/dbsnapshot.py
Support DBSubnetGroupName in RestoreDBInstanceFromDBSnapshot

Conflicts:
	boto/rds/__init__.py
1) Changed the Common Request Parameter used to specify the requested operation from
'Action' to 'Operation' to conform to the spec.
2) Modified build_list_params to support both an array of parameter names, or
a string containing a set of whitespace- or comma-delimited parameter names.
Formerly, only a single parameter name could be accepted as a string.
Added support for a number of MTurk features:
1) Added support for SendTestEventNotification operation as send_test_event_notification().
2) Modified create_hit() to support layouts.
3) Added support for GetAssignment operation as get_assignment().
4) Implemented the QualificationRequest class.
5) Now printing out body of response object when debug level is set to 2 in the connection.
Added new module to documentation: boto.mturk.layoutparam
[MTurk CLI] Use "h", not "hr", for hours.
[MTurk CLI] Use "www.mturk.com" instead of "mturk.com".

The TLS certificate requires this.
[MTurk CLI] Moved some of the interactive code to functions.
[MTurk CLI] Display MTurk error messages cleanly.