More efficient way to look for names
Keys strings are better normalized

Instead of passing a potentially dubious key, and correcting later, I
now correct ALL keys returned by the key making functions BEFORE
attempting to find the unique key.
Moved .decode() to where it belongs

Which is to say, in the `clean_str` function
Updated the test suite

Check for short names, names with spaces, consortium names

Also check that duplicates author/year references have unique
identifiers