Change fancy_rename slightly.
Now we'll raise exceptions if the source doesn't actually exist
except if the source and target are clearly the same in a case-insensitive
sense.
This allows us to rename('a', 'A') but it also allows
rename('notthere', 'there') to raise an exception because the source is
missing.