Exit Firewall Agent if config is invalid

When fwaas config file is not provided to the agent,
but the service is enabled in neutron.conf file the
agent should exit with an error message and should
not proceed further. This patch adds the necessary fix.

Change-Id: Iaced777e3a34e9405050252b17a203689e1c1fc0
Closes-Bug: #1310857
Move Cisco VPN RESTapi URI strings to constants

Cisco VPN RESTapi URI strings are currently spread out
throughout the cisco vpn device driver code. This create
challenge towards consistently using REST resource identifiers
as this code gets enhanced in the future. This change moves
those URIs as string contents towards the top of the device
driver file.

This addresses the review comment received during the
cisco-vpnaas BP implementation.

Change-Id: I17e02cca95b1d14d9218f1a2745780bd14c9f89d
Closes-Bug: #1313801
Big Switch: Only update hash header on success

This patch moves the hash update call into the success block
of the server manager so the database isn't updated with
a hash header from an error response. Additionally, it prevents
the hash from being updated to an empty value if the hash header
is not present in the response.

Closes-Bug: #1348766
Change-Id: I512d01f9bb91b208dd58883d2464951ecc6748e1
OVS flows apply concurrently using a deferred OVSBridge

This change is an improvement of the commit
501213686886baccd3280e10b8856a25d3517519 and provides a cleaner
implementation. Previously flows were applied on
OVSBridge.defer_apply_off which could be called by an other
greenthread: it was impossible to ensure that all flows are applied
in a unique OVSBridge.defer_apply_off call. This change ensures that
all flows defined using a DeferredOVSBridge are applied on
DeferredOVSBridge.apply_flows or DeferredOVSBridge.__exit__ if not
exception is raised.

Author:         Cedric Brandily <zzelle@gmail.com>
Co-Authored-By: Edouard Thuleau <edouard.thuleau@cloudwatt.com>

Related-bug: #1263866
Change-Id: I1f260629ef95b98ee80e2ff946c3606da8fe7608
Remove redundant topic from rpc calls

RpcProxy sets by default topic=self.topic, there's no need to specify
it explicitly in derived class, unless it is overridden

Change-Id: I19b9a67072a7f3c42e3b0e4ba412241a056a79a3
Closes-bug: 1348180
Radware: When a pip is needed, reuse the Port

When a pip (Proxy IP) is needed by the driver, do not create
a new Neutron Port every time a pip is needed. Reuse the
existing Port.

Change-Id: I769a9d85e217b30a1ea4d09449ff39bf1ab23c5a
Closes-bug: #1349895
Merge "Big Switch: Only update hash header on success"
Merge "Remove redundant topic from rpc calls"
Merge "Radware: When a pip is needed, reuse the Port"
Merge "Move Cisco VPN RESTapi URI strings to constants"
Merge "Exit Firewall Agent if config is invalid"
Merge "OVS flows apply concurrently using a deferred OVSBridge"