Add support for creating provider networks

Implements blueprint neutron-provider-networking

Change-Id: I4bad9483b92875ea5e143b0e11652e01faed35a4
Create an IPv6 network that uses an external router for IPv6

Change-Id: Id1498d74db816b3edbb8376ca5acb7cc5792ea5c
Update readme.md, heat is now enabled by default

Change-Id: Ia36879711aa440f4fba657159afeba2105c6aae4
chown stack/data/nova/networks to $STACK_USER

$USER may be undefined (resulting in an error exit from stack.sh)
or may be the current $USER rather than the target $STACK_USER
(which may or may not be the same) which could lead to errors
later.

This change brings about consistency: the rest of stack.sh always
uses $STACK_USER.

This same problem may be present in lib/marconi.

Change-Id: Idff2bee88de4e1da11cd5765a03646caf3ede24f
be a little more clever about interface default

the interface default of eth0 has become more wrong since we've
got a generation of Linux distros that don't use eth* as their
interface naming. Instead of that do a slightly more clever, but
probably still wrong thing, of picking an interface that exists
and is a physical interface.

This is still overridable, however won't cause really cryptic
failures in nova-compute because it's trying to use an interface
that doesn't exist *really* late in the network creation.

Change-Id: I93016ff5a25678de76254418155c839a269486a0
Merge "Update readme.md, heat is now enabled by default"
Merge "Add support for creating provider networks"
Merge "Create an IPv6 network that uses an external router for IPv6"
Merge "be a little more clever about interface default"