local WSGI Request and Response classes

This change replaces WebOb with a mostly compatible local library,
swift.common.swob.  Subtle changes to WebOb's API over the years have been a
huge headache.  Swift doesn't even run on the current version.

There are a few incompatibilities to simplify the implementation/interface:
 * It only implements the header properties we use.  More can be easily added.
 * Casts header values to str on assignment.
 * Response classes ("HTTPNotFound") are no longer subclasses, but partials
   on Response, so things like isinstance no longer work on them.
 * Unlike newer webob versions, will never return unicode objects.

Change-Id: I76617a0903ee2286b25a821b3c935c86ff95233f
Warn when killing fails with EPERM

Have swift-init warn when the running user doesn't have permissions to
signal processes.  Fixes bug 1017494.

Change-Id: Icb9048ab36f1ca73bb93b11c9c2aed882d99dfa7
close_swift_conn is a method of swift.proxy.controllers.base.Controller, not function

Change-Id: I84dd7bc2fc5ebd1190a7184f42fc5ecf5fd7b4d3
Merge "local WSGI Request and Response classes"
Merge "close_swift_conn is a method of swift.proxy.controllers.base.Controller, not function"
cleanup double repeated response.headers['X-Timestamp'] = file.metadata['X-Timestamp']
in swift.obj.server.HEAD

Change-Id: Ie7cf853319589db7c48836dd5d7fd5e68cb009cd
internal client unicode paths

made internal client handle unicode path parts by adding make_path method
fixed pep8 problems in internal client and its test
moved internal client unit test file to correct directory

Change-Id: Id1c81c9cb0db05342e4e8a8393db93552fda4647
add support for custom log handlers

Add a hook to get_logger to run custom functions to add custom log
handlers or the like.

Change-Id: Ib04b12939dcac7e4ad6453dea9795682044c6ae0
Merge "add support for custom log handlers"
Fix two edge cases with Range: header

This fixes swob to handle "Range: bytes=-X" where X > len(content); ex.
"Range: bytes=-17" when the object has 10 bytes. Based on the RFC, the
range is satisfiable and all bytes should be returned.

It also fixes "Range: bytes=-0" to be, correctly, not satisfiable.  In
addition, this case's response has Content-Length: 0 and has a zero-byte
body.

It also fixes an existing regression in swob for the case
"Range: bytes=100-" for a body of length < 100 (Content-Length was
negative and the body was returned).

The relevant RFC is 2616, section 14.35.1.

Change-Id: Ib3dc672e083173eb970c10801283813623f26e0e
remove configobj from deps

Change-Id: Ie566e712ba0d3dca543e99efbdb576b19623e73c
fix typing in swift/common.db, swift/container/server.db

Change-Id: I5efb3712faa7d159be2d86913fa5fbdf09b7f98f
Merge "remove configobj from deps"
Fixing alterations to sys.path

Fixes bug 1064249

sys.path should be extended not appended to

Change-Id: I3404a50b16b843b47f5082676029a4dd3b03f812
Merge "internal client unicode paths"
fix swob for make_pre_authed_request

Change-Id: Ic263f4a77a0aa0eb40078772a567eb41a60e40f7
Merge "Fixing alterations to sys.path"
Merge "fix swob for make_pre_authed_request"
Merge "Fix two edge cases with Range: header"
Allows removal of ACLs

fixes bug 1049017

As per the bug report, the -remove- form of deletion only works with
 meta headers and not with x-container-read and x-container-write.

This patch by Yukihiro KAWADA detects the container acls and sends
them through to the backend empty like the other metadata values.

patch2 extends metadata-helper in ContainerController tests so that
the new functionality can be tested.

patch3 changes the k.lower().startswith() commands for read/write to
a single k.lower - thanks David :)

patch4 fixes PEP8

patch5 fixes more than two hundred pep8 errors. Except one,
 where the pep8 tool complains of overindent, or underindent
depending on the position on the line. No idea how to fix that one.

patch6 fixes the remaining pep8 error - thanks Darrell

Change-Id: I36c2dd72b4636136c5ce7db414bf2b61501090ad