Nicer error when cassette doesn't contain request

Raise UnhandledHTTPRequestError.
Show name of cassette and request.
Nicer error for can't overwrite existing cassette

Raise CannotOverwriteExistingCassetteException rather than Exception.
Include cassette filename and record mode in error message.
Let's have the new exceptions subclass basic exception types
PEP8 Fixes