Include key in raised KeyError.  Also, failfast.

When the key is not found, a KeyError is raised without interpolating the specific key into the error message.  This fixes that.

Also, I reversed the logic to use a more failfast, or bail-out-early style.  I don't care if the style change sees the light of day, but I figured since I was changing the line anyway I might as well make it a little more readable, to my eye anyway.