Refactor balanacer create candidates outside of initializer

Any thoughts or objections to a refactor like this? I have the (probably odd) use case of needing to spin up database instances dynamically


Adds flexibility so that candidates can be added dynamically post-facto
i.e:
    #  Multidb.balancer.create_dbs({'simulation-123': {database: "file://::simulation.123.db:?mode=memory"}})