Do not run "ovs-ofctl add-flow" with an invalid in_port

Since ofport is a string, we have to convert it to integer to
check it expresses a negative number or not.

Also unit tests are added/corrected.

Change-Id: If85595f1b8ecb40ea41edda52706fb1bd41cb1ab
Related-Bug: 1238445
Round-robin SVI switch selection fails on Cisco Nexus plugin

Fixes bug 1250969

This fix addresses improper behavior with the Cisco Nexus plugin's
selection of Nexus switch on which to place a Switch Virtual Interface
(SVI) when round-robin switch placement is enabled.

The expected behavior when round-robin SVI switch selection is configured
via the cisco_plugins.ini file, i.e.:
    [cisco]
    nexus_l3_enable = True
    svi_round_robin = True
is that when a virtual router interface is created, the Nexus plugin should
select the Nexus switch with the least number of SVI interfaces configured
for creating the new SVI. The current selection is based on the first
entry in a dictionary, and is therefore indeterminate.

Similarly, this fix also addresses incorrect behavior when round-robin
selection is disabled. In this case, the desired behavior is that
the plugin should select the first switch which appears in the Nexus
switch configuration. Instead, the current selection is also based on the
first entry in a dictionary, and is likewise indeterminate.

Change-Id: I548c1efaa8b54695246251b6823ab59e077836fe
Merge "Round-robin SVI switch selection fails on Cisco Nexus plugin"
Merge "Do not run "ovs-ofctl add-flow" with an invalid in_port"