Installer database changes

Today I merged database support into foreman-installer's develop branch.
Here's a bit of info about the change:

  1. if you've got a git checkout of foreman-installer, there was some
    submodule jiggery-pokery with concat modules. We think the correct git
    voodoo after checking out the change is:

git submodule sync && git submodule update --init

  1. the installer default is now PostgreSQL instead of SQLite, so if
    you're using the modules, be aware as it will template and change your
    database.yml file. You can change the $db_type parameter on the foreman
    class to "postgresql", "mysql" or "sqlite" as you please.

  2. the installer will by default manage the PostgreSQL or MySQL
    server, using the modules from Puppet Labs. It will create a user,
    database and then configure + migrate the Foreman production DB. If you
    want to handle this yourself, set the $db_manage parameter to false,
    then the database is your responsibility (you could still use the PL
    modules, just configure them how you want it).

  3. if you choose not to manage the DB, there are a few other parameters
    on the foreman class that get passed into database.yml, hopefully enough
    to be able to configure it as required.

The intention is to improve the out of the box experience for new users,
but hopefully provide enough hooks for existing users of the modules to
get stuff done. Please submit PRs if it can be improved!

Thanks.

ยทยทยท -- Dominic Cleal Red Hat Engineering