Configure database parameters on the right nodes

Since Grizzly, nova-compute does not need database access anymore.
Currently, only nova-api, nova-scheduler and nova-conductor really need
database access.

* Keep original nova parameters with backward compatibility
* Create nova::db with database parameters
* Import nova::db in nova::init for backward compatibility
* Import nova::db in nova::{api,conductor,scheduler}
* Refactorize unit tests for conductor & scheduler

Implements: blueprint move-db-params
(cherry picked from commit 30b6a9c4c7d9b662eb8e70b58a1ad63d1c4e89aa)

Conflicts:
	manifests/init.pp

Change-Id: I8f226442f120ca07cd4e959c740aefa0c9012a2d
crontab: ensure the script is run with shell

Some distros does not provide a default shell for Nova user.
We can run the crontab by force shell usage and avoid running
issues.

Change-Id: Id222c943ac2f0957e1354a739ca42dde1162d1ae
(cherry picked from commit 8897ab59088b89770a6754bee7d94156922e19ee)
Merge "Configure database parameters on the right nodes" into stable/juno