Fixes maxlength validation bugs

The following S3 tests were failing:
s3tests.functional.test_s3.test_bucket_list_maxkeys_invalid
s3tests.functional.test_s3.test_bucket_list_maxkeys_unreadable
s3tests.functional.test_s3.test_bucket_list_maxkeys_zero

These two simple changes add some validation for the first two
and fixes the return of is_truncated for the maxkeys=0 case.
Tests now pass.
Merge pull request #9 from fifieldt/0b792a1e7a2e59c26a1da072933716137141bff0

Fixes maxlength validation bugs
Update doc/source/conf.py

fixing the name typo
Update doc/source/index.rst

just updating the title
add basic ACL set, logging, fix getacl http code

This change:
* adds HTTP_NOT_IMPLEMENTED (501) as a potential return code that can
 be used for the multitude of calls this middleware does not yet
 support
* adds basic support for setting ACLs to allow containers/buckets to
 become public.
* fixes the HTTP return code for getacl by changing what gets sent to
 swift
* adds debug logging for assistance with development

ACL support works for public-read, public-read-write, but does not
yet pass tests (but it doesn't make them worse!) mainly due to the
fact that get_acl currently returns a hardcoded xml string.
WIP - acls and test cases

This patch is a functional work in progress. It
* introduces get_acls based on real acl values in swift
* implements a 'private' set acl
* adds err_responses for MissingContentLength, BadDigest
* adds a POST handler for BucketController (that only returns 501, for now)

the get_acl function in particular isn't pretty, so this is a work in
progress. Committing as it is passing 13 more testcases than previous
attempts.
Add a method to validate bucket names

This change adds a method validate_bucket_name which can be used
to determine if the bucket names meet S3 standards or not.

It is currently unused, but in a future commit it will be called
from BucketController's PUT method.
Adds basic set XML ACL support

Extends the swift_acl_translate method for basic XML setting

Test case now passes:
functional.test_s3.test_bucket_acl_xml_fullcontrol

Adds URIs to get_acl method, so test case now passes:
functional.test_s3.test_bucket_acl_canned
Fixes object listing with special key names

swift (which prevents storing these keys on its own API) will store
special characters in percent-encoded form, meaning that with the S3
API, when keys were listed, they appeared as percent-encoded, rather
than the original name.

This change uses unquote to resolve the percent-encodings to the
original name when listing keys in the bucket.

These test cases now pass:
tests.functional.test_s3.test_bucket_create_special_key_names
Fixes PEP8 violations

This commit changes whitespace, comma placements and line lengths to
fix PEP8 violations in middleware.py and test_swift3.py
webob => swob
Stub out ?versioning command.

This is necessary for CyberDuck, which issues the versioning command and errors
out if that doesn't work. This implementation simply returns that versioning
hasn't been configured.
fix bucket creation. REQUEST_METHOD PUT not translated to POST if request has X_AMZ_ACL header
BucketController.PUT don't return error response if CONTENT_LENGTH is invalid
add unhandled exception logging
bucket location stub
add logging stab for bucket controller
Swift3 1.7

Added a versin tag for distribution packages.

Likely Swift3 1.7 works with Swift 1.7.0 and the previous versions
however not with the following verions (1.7.1 and so on).

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Updated HEAD and ACL calls to objects to work correctly
Add basic support for multi object deletion

This adds basic support for deleting multiple objects from a bucket
using a single POST request.

TODOs:
 - support for deleting the specific version of the object.
 - return NoSuchBucked error when the specified bucket does not exist.
 - return MissingRequestBodyError error when the request body is
   empty.
 - return MalformedXML error when the provided XML is not well-formed.

Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>