Set InnoDB engine for all existing tables

Added the method in heal script that checks if mysql_engine
parameter is needed to be changed and if it is neseccary do this.
Also this change adds migation that set 'mysql_engine' to InnoDB
for all tables that were added into the database after healing.

Closes-bug: #1346966

Change-Id: Ia4d9038b99b2559d37272a17f5819a9dedd53f72
Fix migration set_length_of_description_field_metering

If PostgreSQL version is less than 9.1.13 migration
set_length_of_description_field_metering fails as there is no
special 'create if not exist' expression. This change add special
function for this case.

Closes-bug: #1348138

Change-Id: Ibe4f370fe400072abd281bd2313261790335eae2
Refresh rpc_backend values in unit tests to those from oslo.messaging

Though old values are supported via compatibility transport aliases [1],
it's better to stick to those values that are officially supported by
oslo.messaging.

[1]: neutron/common/rpc.py:TRANSPORT_ALIASES

blueprint oslo-messaging

Change-Id: I7bc03e323151cfdda2cb2bc4cd6f5aea9b87a746
Merge "Set InnoDB engine for all existing tables"
Merge "Fix migration set_length_of_description_field_metering"
Merge "Refresh rpc_backend values in unit tests to those from oslo.messaging"
Raise proper exception in case duplicate ipv6 address is allocated

In case neutron tries to generate ipv6 address for slaac subnet,
it doesn't check that generated ip is unique and throws DB exception
that results in 500 HTTP error.

The fix throws proper IpAddressInUse exception.

Closes-Bug: #1358731
Change-Id: I66aed81b8d31d1eff6c87a77c4c4a813179ba458
Merge "Raise proper exception in case duplicate ipv6 address is allocated"