Added missing l3_update call in update_network

Change-Id: Id907ae692140fd52762ef6ac4fc1613897eb5065
Closes-Bug: #1259125
Create new IPv6 attributes for Subnets

* Introduces two new optional attributes for Subnets:
  * ipv6_ra_mode
  * ipv6_address_mode

Both attributes accept the following values:

* dhcpv6-stateful
* dhcpv6-stateless
* slaac

In addition to these values, additional behaviors are specified for
when only one of the attributes is set. For example, a Neutron network
that uses a physical router as a gateway, that transmits ICMPv6 Router
Advertisement packets to configure hosts on the network will create
Neutron Subnets that have ipv6_ra_mode *not* set, and ipv6_address_mode
set to 'slaac' so that Neutron will calculate EUI64 addresses for
each port assigned to the subnet, and not spawn a Dnsmasq process.

These attributes maintain backwards compatability with the enable_dhcp
Subnet attribute, by requiring a subnet with these attributes to also
have enable_dhcp set to True.

DocImpact

Implements bp ipv6-two-attributes
Change-Id: I5b2313fff5dca1c16ff939fdc4397d7f95ba3ba5
Calculate stateless IPv6 address

In order to support stateless IPv6, neutron should calculate IPv6 address base
on IPv6 prefix and MAC address via EUI-64 specification.  This change adds
common library to calculate IPv6 address.

Partially-implements bp ipv6-two-attributes
Co-Authored-By: Xu Han Peng <xuhanp@cn.ibm.com>

Change-Id: I68ccbc42388ec760d6fead242e080822ca753913
Merge "Create new IPv6 attributes for Subnets"
Merge "Calculate stateless IPv6 address"
Merge "Added missing l3_update call in update_network"