ML2 Cisco Nexus MD - not overwriting existing config

The Cisco Nexus ML2 MD overwrites any existing switchport
VLAN config such as management VLANs that are preconfigured
in the compute node ToR interfaces.
This bug addresses that issue and ensures the config is not
wiped out.

Closes-Bug: 1330597

Change-Id: Ie2969e5750a179a4940d12db4c9ee6e1ec53b79b
Batch ports from security groups RPC handler

The security groups RPC handler calls get_port_from_device
individually for each device in a list it receives. Each
one of these results in a separate SQL query for the security
groups and port details. This becomes very inefficient as the
number of devices on a single node increases.

This patch adds logic to the RPC handler to see if the core
plugin has a method to lookup all of the device IDs at once.
If so, it uses that method, otherwise it continues as normal.

The ML2 plugin is modified to include the batch function, which
uses one SQL query regardless of the number of devices.

Closes-Bug: #1374556
Change-Id: I15d19c22e8c44577db190309b6636a3251a9c66a
Merge "Batch ports from security groups RPC handler"
ML2: fix file permissions

Commit 36b7ceb050a6805d30cbac4562e109dddf3cba25 changed the
file permissions.

This corrects that.

Change-Id: I6b9cf7aef8f1a45f89c6a923be382789de7287b6
Merge "ML2 Cisco Nexus MD - not overwriting existing config"