Reorder operations in create_vip

Previously VIP's port creation was moved outside the transaction
to avoid deadlocks related to rpc calls.
It led to small chance of VIP being fetched by rpc code with
port being still None.

This patch reorders VIP association with the pool so it's done
only after port has been created.

This patch also leaves small possibility of uncaught exception in
case of pool being concurrently deleted in the process of VIP creation

Change-Id: I584558aecc92db4d19fb72b1d006868b840a4d8c
Closes-Bug: #1356227
ML2 Type driver refactor part 1

This commit moves segment management from the ML2 plugin to
the type manager in preparation for dynamic segment support.

Partially implements: Blueprint ml2-type-driver-refactor

Change-Id: I068b82369250d115ef91680f19e733ed9aa4659b
Add hook scripts for the functional infra job

Infra jobs support hooks to customize behavior.  This change adds
scripts that are intended to be called by the neutron-dsvm-functional
jobs as hooks.   Defining hook behavior in-tree instead of directly in
the job definition has the advantage of allowing changes in hook
behavior to be tested before merge.

The gate_hook.sh script added by this change installs a rootwrap
filter to allow functional tests to destroy python processes that
they have spawned.  The tests use the python executable provided by
their tox env, and the default rootwrap configuration does not
support killing processes launched by non-system python executables.

This change will have to merge to master and stable/icehouse before
the supporting infra config change can be merged:

https://review.openstack.org/#/c/116458/

Partial-bug: #1360658
Change-Id: Idcc6195f91fac833c14892f27fb793048ef964b9
Merge "Reorder operations in create_vip"
Merge "ML2 Type driver refactor part 1"