Use new DB context when checking if agent is online during rescheduling
Use new DB context when checking if agent is online during rescheduling

Commit 9ec466cd42de94c2fad091edfd7583a5f47eb87a was not enough
since it checked l3 agents in the same transaction that was used
to fetch down bindings - so agents always were down even if actually
they went back online.
This commit adds context creation on each iteration to make sure
we use new transaction and fetch up-to-date info for the agent.

Closes-Bug: #1522436
Change-Id: I12a4e4f4e0c2042f0c0bf7eead42baca7b87a22b
(cherry picked from commit 70068992e37c80e9aa8e70f017aa35132d7e5aee)

eayunstack/neutron,openstack/neutron,cloudbase/neutron,mahak/neutron,igor-toga/local-snat,cloudbase/neutron,eayunstack/neutron,sebrandon1/neutron,noironetworks/neutron,openstack/neutron,mahak/neutron,bigswitch/neutron,sebrandon1/neutron,noironetworks/neutron,mahak/neutron,bigswitch/neutron,openstack/neutron,huntxu/neutron,huntxu/neutron,igor-toga/local-snat