Support calling build_rdn() and build_dn() on a class.

This makes it possible to obtain the DN for an LDAP object without
having to fetch from LDAP first.

Conflicts:
	ldapdb/models/base.py
Wrap up connection obtaining code in _get_connection().
Support binding to a different database alias using bind_as().

Conflicts:
	ldapdb/models/base.py
Support restoring settings.DATABASES after bind_as().
Add a context manager interface for bind_as() + restore_alias().
Close LDAP connections properly.

Implement the close() method in DatabaseWrapper so that the connection
to LDAP is actually unbound and closed properly as necessary.