Generic SQL support for source

Added support for custom SQL databases. Works as expected for sqlite, except config option "file" got renamed to "database", added authentication options for other SQL adapters and an optional query argument to overwrite the generic query.

Minor drawback: the "require" part for the adapter can't work anymore because the included gem isn't named the same as the adapter.

config snipplet:

  sql:
    adapter: mysql2
    user: sqluser
    password: sekrit
    host: mysql.local
    database: inventory
    table: devices
    query: SELECT `fqhn` AS `name`, lower(`vendor`) AS `model` FROM `devices` INNER JOIN `devtypes` ON (`devtypes`.`id` = `devices`.`model_id`) WHERE (`aktiv` = 'J')
    map:
      name: name
      model: model