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

NOTE: This issue is not affecting production/stable environments (no comments
related to that have been made) but the issue is there and raises under
certain cases.

The backport is being suggested because this is, most likely, happening
under the hoods without users even noticing it.

Change-Id: Ie9ed044e08053d0067396138de0bd124326aa1a5
Cherry-picked: a9f9f137bb44bd5727854f416f8b0c7c3df81867
Merge "Call os.kill for each child instead of the process group" into stable/grizzly