tests/unit: Initialize core plugin in TestL3GwModeMixin

TestL3GwModeMixin can fail randomly because it doesn't initialize
core_plugin and can be run random core plugin depending on execution
order of tests. It also fails with core plugin uninitialized when it
is run without other tests.

This patch refactors the setup code of core plugin and apply it to the
related tests.
This patch reveled the same bug of test_metaplugin.py which is also
fixed by this patch.

Closes-bug: #1273259

Conflicts:
	neutron/tests/base.py
	neutron/tests/unit/test_extension_ext_gw_mode.py

Change-Id: I3c1d4d8b3d69262b89c7747daa8267bf2c8e7f6b
(cherry picked from commit 9e247277e2d916fa705715e018ef5f3f221f0efa)
Fixed floating IP logic in PLUMgrid plugin

  * Fixed associate and disassociate
    floating IP logic
  * Added unit tests

Change-Id: I310f5550bca1c9015cbda3e0338eb90a36dc96f1
Closes-Bug: 1298495
(cherry picked from commit 9f8cb33557ecc7c0a832610e913a56a8b8e6c524)
Merge "tests/unit: Initialize core plugin in TestL3GwModeMixin" into stable/havana
Merge "Fixed floating IP logic in PLUMgrid plugin" into stable/havana
Merge branch 'stable/havana' of https://github.com/openstack/quantum into havana/stable