anidb: New caching mechanism

Refactors the various parts of the code that interacted with the cache
to use the new cache. Moves the intent system to be decoupled from the
cache.

Caches requests made with invalid keys, avoids requerying the API for
InvalidKeyCacheDuration (1 hour).

Untested on !windows, since that uses a separate file locking mechanism.
anime: Don't send UDP queries if we have no credentials

We'd just get a 501 error and wouldn't be able to do anything about it.
Skip the middleman and return the 501 right away.
anime: Support searching for multiple Episodes in an Anime