Expand HACKING with commit message guidelines

Add a 'Commit Messages' section to HACKING describing how a commit
message should be formed.

Change-Id: I49f7c3febf65db246a84b0314597615f8d0ba247
Don't raise HTTPForbidden on a multitenant environment

When getting public images in a multi-tenant environment, Swift raises
HTTPForbidden for chuncked images.

Based on swift documentation, rlistings directive turns listings on,
which is the desired behavior in this case.

Fixes bug 1170156

Change-Id: I149f702d5b3ebae73b04deed4809939ab43c6adc
Remove unused configure_db function

DB drivers currently implement a configure_db function that is supposed
to be used for seting up the environment and getting an engine back from
it. Since it is not being used anywhere in the code but tests, I removed
it and modified tests in order to call both functions (setup_db_env and
get_engine) where/ when needed.

As pointed out in another bug, it is important to just call setup_db_env
when instantiating the db_api in order to keep it lazy. AS for
sqlalchemy get_engine will be called when a session is requested.

Fixes bug 1167770

Change-Id: I2ebeb5e8424a4857df21f7c2d5b33e8ae0100c6a
Call os.kill for each child instead of the process group

The patch sets the process group id to its process id. Note that this
change raises an OSError in Glance's tests because they are run under
Popen and using glance-control, which changes children's session ids and
other parameters. That for, setpgid is inside a try / except and falls
back to 0.

Fixes bug 1068051

Change-Id: Ie9ed044e08053d0067396138de0bd124326aa1a5
Compress response's content according to client's accepted encoding

Currently Glance ignores the Accept-Encoding header and returns
responses as they are regardless the client accepts gzip or other type
of compression.

This patch adds this capability to glance (by using a middleware)
supporting just gzip for now.

Important note:
    - The patch uses a lazy compression for Content-Type
    application/octet-stream but in order to do that, the
    content-length has to be unset which means that when an image is
    downloaded the content-length will be unknown to the client.

Fixes bug: 1150380

Change-Id: Ieb65837d4e3fe310f97d9666882ecc572b14956a
Merge "Don't raise HTTPForbidden on a multitenant environment"
Merge "Remove unused configure_db function"
Merge "Expand HACKING with commit message guidelines"