Add filename*= support to tempurl Content-Disposition

When working with unicode or unsafe characters most browsers can do better
with a fully quoted filename*=, and will prefer it to filename=.  Old style
filename= left in for backwards compat

Change-Id: Ic54b0c376139bc8688d9124930689285a3b384fb
Fix the section name in CONTRIBUTING.rst

The name of the section "If you're developer, start here"
has changed in the wiki, now is "If you're a developer".
This commit updates it to correctly refer to the
proper section.

Change-Id: I724107362c7eaf895133ab0a902a575081c025be
Fix KeyError on Storage Policy Container Sync

In the proxy, container_info can return a 'storage_policy' of None.  When
you set a header value on a swob.Request to None that effectively just
delete's the key.  One path through the proxy during container sync was
counting on the the 'X-Backend-Storage-Policy-Index' being set which isn't
the case if the cached container_info if for a pre-policies container.

Also clean up some test cruft, tighten up the interface on FakeConn, and add
some object controller tests to exercise more interesting failure and handoff
code paths.

Change-Id: I643e08c208efdc5a39e840d9e96710ddad54236b
Fix pop_queue for move object twice

With the two vector timestamp change some resolution was lost in the queue
entries that could lead to the reconciler being unable to successfully remove
a processed item from the queue in pop_queue.  To ensure the queue entries
with a significant offset can be successfully removed while still handling
the re-enqueued object case issue the DELETE with the timestamp slightly later
than the maximum of the queue entries last modified time (q_record) and
misplaced objects timestamp (q_ts).

Change-Id: I87b1e4b4256af3f71defb58c8137c303d1ae63be
Fix potential missing key error in container_info

If upgrading from a non-storage policy enabled version of
swift to a storage policy enabled version its possible that
memcached will have an info structure that does not contain
the 'storage_policy" key resulting in an unhandled exception
during the lookup.  The fix is to simply make sure we never
return the dict without a storage_policy key defined; if it
doesn't exist its safe to make it '0' as this means you're
in the update scenario and there's xno other possibility.

Change-Id: If8c88f67ba7a3180ad06b586372fe35c65807aac
Adjust timeout value in test_client_timeout

Per information filed in bug (and related bugs referenced in the
report) it appears that in TestObjectController.test_client_timeout
having a matching timeout value for both self.app.client_timeout
and SlowBody() appears to work however, as expected, a smaller
value in self.app.client_timeout also works where a larger
value fails.  With that short test combined with speculation and
related fixes, seems reasonable to merge what is suggested in
the bug report, drop the self.app.client_timeout to 0.05

Fixes Bug #1316716

Change-Id: Ib4c6d3bb275f6c50c62505c90656efa7ee566bc0
This setting should've been set to False back ...

...with commit 9eb797b09916574c2a4e0f5f9ea61fe120879075

With this setting to True in the code, any tools anyone writes will
automatically start preallocating, which is almost always bad these days
with SSDs. So, if you write a tool that just scan dbs for stats, it'll
commit any pending info triggering preallocation and bam, your SSDs
start to fill up. :/

Anyway, back when I wrote 9eb797b09916574c2a4e0f5f9ea61fe120879075 it
was my intention to have this off by default, everywhere; I changed all
the settings points but I failed to change the dang constant itself.
This corrects that.

Change-Id: Iada0a3f1ecfabda4a96f574903d8e2eed1f69064
Merge "This setting should've been set to False back ..."
Merge tag '2.0.0'

Swift 2.0.0 release

Change-Id: I5fdc1e7434bdf6d88c4b260798791ee59f0832c0
added process pid to the end of storage node log lines

Change-Id: I1c2709d85575fc7d4868fafd9ee757fd01868436
Merge "Fix the section name in CONTRIBUTING.rst"
Merge "Adjust timeout value in test_client_timeout"
Update docs to highlight that the auditor chunk size can be set

May not be obvious, but existing code will let you change the
disk_chunk_size just for the auditor so this just points that
out in the docs.  In one short test I ran with a 4 node cluster
with 18GB of 4MB objects on it, changint he auditor chunk size
from the default of 64K to 1MB creased the auditor CPU time from
10% to 4%.

Also added test code to make sure this overridden value is
actually used and checked other auditWorker conf values as
well.

Change-Id: Ia12e1c6127877dc2124b60cd963cd0b6d5f3d6ef
Handle func tests of swift cluster that hide /info

If a swift cluster configures the proxy server to not accept
/info requests, just do the best we can, skipping tests as
necessary.

To that end, if cors mode is not known we also skip the test.

Change-Id: I34f296c8717e0baf24ae552a7e38f9354ee91974
Merge "added process pid to the end of storage node log lines"
Merge "Add filename*= support to tempurl Content-Disposition"
Merge "Handle func tests of swift cluster that hide /info"
Merge branch 'master' into feature/ec

Change-Id: I3d553e573271dbb1d10ec0483b1dcc86d7f83058