Add the option to minimize ovs l2 polling

This change adds the ability to monitor the local ovsdb for
interface changes so that the l2 agent can avoid unnecessary
polling.  Minimal changes are made to the agent so the risk
of breakage should be low.  Future efforts to make the agent
entirely event-based may be able to use OvsdbMonitor as a
starting point.

By default polling minimization is not done, and can only be
enabled by setting 'minimize_polling = True' in the ovs
section of the l2 agent's config file.

Closes-Bug: #1177973

Change-Id: I26c035b48a74df2148696869c5a9affae5ab3d27
(cherry picked from commit cb0df591a9508e863ad5d5d71190eca349dc551f)
Ensure get_pid_to_kill works with rootwrap script

To ensure that correct process is killed when using a rootwrap
script, we must recursively list the children of our top-level
process and kill the last one.

This solves the same issue as 61e9268bd4b696860eeb5a6ce59ae6bf42b1f0c8
but is a different implementation due to not being able to add the
psutil dependency to an existing release.

Change-Id: Ic9d0512a3426c7b85ad88a71ee7062ba2c304322
Merge "Add the option to minimize ovs l2 polling" into stable/havana
Merge "Ensure get_pid_to_kill works with rootwrap script" into stable/havana