Make clean_with work for multiple db connections

clean_with avoids using strategy= so that it doesn't actually change the
strategy. This means it was bypassing the section that set the database
to actually clean and therefore it was always cleaning the default.
refactor our common code
Merge pull request #195 from johnf/clean_with_multidb

Make clean_with work for multiple db connections