Refactor ::adapter_method

- somewhat simpler
- stricter values of opts[:database]; non-string arguments are
not accepted
Merge branch 'refactor-adapter-method' of git://github.com/eval/sequel