Introduce havana initial state

This patch replaces folsom initial state and all migrations
from folsom to havana, with a new, configuration independent
initial db state, corresponding to the havana release.

In order to avoid large modules, "init ops" modules have been
created for all plugins, service plugins, and extensions.

Some migrations after the havana release were amended or
removed to reflect the new initial state being introduced.

Partially-implements: blueprint reorganize-migrations

Change-Id: I47bfd0d26fad1373013ae0d5716266ca40c493c6
Make Juno migrations config independent

This patch amends migrations added after the icehouse release
and before the healing migration.
Migrations are changed in a way that they are not anymore
dependent on configuration parameters but are anyway aware of
the fact that the database has not yet been healed.

To this aim, amended migrations now will need to inspect the
current schema and cannot be anymore be used in offline mode;
this is consistent with the behaviour of the healing migration.

This patch does not remove the logic for generating and
managing configuration-dependent migrations. For this reason
upgrade and downgrade routines still accept the active_plugins
parameter, which will not be used.

Change-Id: I9d55a01c64ef555b7774099f497c9eea596aea6e
Partially-implements: blueprint reorganize-migrations
Fix a test_db_plugin unit test side_effect usage

One of the unit tests didn't correctly use the side_effect
parameter for a mock to return different responses to multiple
calls, which resulted in an extra try-except block and an inline
note. This commit fixes the side_effect and removes the extra
catching code.

Change-Id: Ifa1a6a15025b710ecbba956b5b848e32314cf0cf
Merge "Fix a test_db_plugin unit test side_effect usage"
Merge "Introduce havana initial state"
Merge "Make Juno migrations config independent"