Set permissions on generated ring files

The use of NamedTemporaryFile creates rings with permissions 0600;
however most installs probably generate the rings as root but the
swift-proxy runs as user swift.

Set the permissions on the generated ring to 0644 prior to rename so
that the swift user can read the rings.

Change-Id: Ia511931f471c5c9840012c3a75b89c1f35b1b245
Closes-Bug: #1302700
Support for content-length in the upload object method for
internal client.

Internal client uses 'chunked' transfer encoding in it's
upload_object method. If content-length is known in advance,
internal_client should allowed to use content length in the
upload_object method and not the chunked method.

Change-Id: I68d2ebde78e01fa16b7187a2f045ea20f4310722
Add missing constraints to /info

Two of the default constraints, max_header_size and
max_meta_overall_size, don't get registered for the
/info response by the proxy server.

Rather than adding them individually to the proxy's
register_swift_info call, this patch proposes to
register all the constraints for /info at once
using the constraints.EFFECTIVE_CONSTRAINTS dict.
Any future additions to default constraints will
then be automatically included in /info.

Change-Id: I5c10d4c8eda90ba94745b6f89df85aafbb50f8ef
Merge "Add missing constraints to /info"
Add tests and comments re constraints in /info

Add test to check that only the expected keys are
reported by proxy in /info, and add comments to
raise awareness that default constraints will be
automatically published by proxy in response to /info
requests.

Change-Id: Ia5f6339b06cdc2e1dc960d1f75562a2505530202
Merge "Support for content-length in the upload object method for internal client."
Merge "Add tests and comments re constraints in /info"
Merge "Set permissions on generated ring files"