Fix catalog Driver signatures

The 'hints' parameter was missing from the base catalog Driver.
The 'hints' parameter is required for all the subclasses and the
manager requires it, so it should be specified in the base class.

Change-Id: I3e7d84b671468c064d6bb3b2828ce4a03fdd620b
Refactor test_password_hashed to the backend testers

The test_password_hashed method was defined in
test_backend.IdentityTests. This is a bad place for it because not
all backends do password hashing (for example, the LDAP backend
doesn't), and it was also implemented in a way where it called a
private method of the backend, which the SQL backend implemented
differently (it requires an SQLAlchemy session).

The test_password_hashed method is moved into the KVS backend
test class, since the current implementation is specific to the KVS
backend.

Change-Id: I0a2390412de6304b7436e6723cb2d411dd53421d
Fix sql_upgrade tests run by themselves

The tests in test_sql_upgrade would fail to run individually, with
a None dereferencing error:

 Traceback (most recent call last):
   File "keystone/tests/test_sql_upgrade.py", line 135, in setUp
     conn_str.startswith('sqlite') and
 AttributeError: 'NoneType' object has no attribute 'startswith'

Change-Id: Id05ec05a344abab8d588a4761c207e2db715e750
No longer allow listing users by email

As specified in the bug description, the listing of users by using the
email attribute as a filter would cause an exception. This is because
the email is not a first class attribute, yet it was considered so in
the filters. Thus, this fix will prevent the exception while also
preventing the filtering by email.

Change-Id: Ibf4b51a91c1e47e8197af49855307460559a7fc9
Closes-Bug: #1306835
Merge "Fix sql_upgrade tests run by themselves"
Merge "Fix catalog Driver signatures"
Merge "Refactor test_password_hashed to the backend testers"
Merge "No longer allow listing users by email"