Fix ValueError in ip_lib.IpRouteCommand.get_gateway()

As metric is not necessarily the 5th word of the gateway line, the
method should search the string 'metric' in the line and pick the next
word as the metric value.

Change-Id: I2663ddbae82f80b912b364c07f9ab92c5b90b718
Closes-Bug: #1267790
Sync minimum requirements

Change-Id: I1a0653058f1f8085918d7c43147d6b2631acb013
Closes-bug:1280941
Use different context for each API request in unit tests

test_router_add_interface_subnet_with_port_from_other_tenant in
neutron.tests.unit.test_l3_plugin.L3NatTestCaseBase was mocking
neutron.context.Context thus performing multiple API requests
with the same context instance. As a context instance also has
a DB session attribute, this might cause unexpected side effects,
especially for plugins which process request asynchronously.

The plugin neutron.plugins.nicira.NeutronServicePlugin was being
affected.

This patch ensures each request has a different context object
without changing the unit test semantics.

It also refactors slightly test_edge_router.py in the nicira
unit test package to avoid executing twice the same unit tests.

Change-Id: I4895faa00ebd915eb9e259930db2d004a9e78a86
Closes-Bug: #1280035
Fixes broken documentation hyperlinks

Several hyperlinks were incorrectly specified in one page of the docs.
These syntax typos have been fixed.

Change-Id: I1a4fe91ac05f51b71e01c001b76712752664ae74
Closes-Bug: #1268611
Merge "Sync minimum requirements"
Merge "Use different context for each API request in unit tests"
Merge "Fix ValueError in ip_lib.IpRouteCommand.get_gateway()"
Merge "Fixes broken documentation hyperlinks"