Add use_driver() and friends to improve driver loading.

The `driver` method can return a driver name and version, so the proper
version gets required. And each of the engines now does (they already did in
the RPM spec file, except for Oracle). The new methods can also be useful
elsewhere.

Note that the `name` class method is now named `key`, and the new `name`
method returns a display name for the egine.