Sepated out the Drupal DSN from the Civi DSN.

I want users to be able to specify a separate Drupal DSN when running tests,
so I've changed around the interface to CRM_DB_Settings that lets you pass in
NULL to get CIVICRM_DSN, or you can pass in a settings array or a DSN
formatted the CiviCRM way. That let's us pass in CIVICRM_UF_DSN separately.