Minimize the cost of checking for api worker exit

A recent change to oslo allows the configuration of the interval
that ProcessLauncher waits between checks of child exit.  The
default interval of 0.01s resulted in the neutron service consuming
unnecessary cpu cycles checking whether api workers had exited (5%
cpu on idle in a VM).  This patch extends the interval to 1s to
minimize the cost of the checks.

Change-Id: I0407ccb2db65cd3839586faff15e70dbc35f005e
Closes-bug: #1095346
Imported Translations from Transifex

Change-Id: Iabfa4ccf4cfa145630fb5044bdeed76acb29ba6e
Process port_update notifications in the main agent loop

Instead of processing a port update notification directly in
the RPC call, the actual processing is moved into the main
rpc loop, whereas the RPC call just adds the updated port
identifier to a set of updated ports.
In this way, a port_update notification won't compete with the
main rpc loop, causing long delays into its completion under
heavy load. Also, repeated port_update notifications received
within a single iteration of the main agent loop will be
coalesced and processed only once.
This will also avoid the risk of processing notifications out
of order thus ending up with an actual configuration which
differs from the desired one.

This patch still performs L2 wiring for updated ports even if
it is necessary only when the administrative state of a port
changes.

The update_ports method has been renamed to scan_ports as the latter
name appears to be more in line with what the method actually does.

Partial-Bug: #1253993
Partially implements blueprint: neutron-tempest-parallel
Change-Id: I219c6bdf63b0b5e945b655677f9e28fa591f03cd
Merge "Minimize the cost of checking for api worker exit"
Merge "Process port_update notifications in the main agent loop"