Add an adapter map

This permits modifying the adapter used for a given scheme by a dsn wrapper class.

Closes #2. Comments @mathop?