anidb: Change Episodes to be []*Episode
misc: Fix Episode<->Episode comparison
anidb: rename ed2kCache to fidCache
http, udp: Remove debug logging

Keep complaints about unknown resource types though, but mention that it
comes from the HTTP API.
anidb: Add (*Anime).EpisodeByEID

Also remove redundant type Episodes []*Episode -- the Episodes type
didn't have any methods.
anidb: Move EpisodeCount struct to misc
anidb: Immediately return error for clearly invalid IDs
anidb: Remove debug logging from cache
anidb: (*Anime).Episode(): be more helpful in the panic message
anidb: Add logging to titlecache, be more careful with caching

Only cache the new anime-titles.dat.gz (thus truncating an older one) if
we can download it entirely to memory (it's little less than 600KB).
anidb: Refactor the intent map

Allows notifications without closing the channels. All current users of
Notify were changed to NotifyClose.
misc: Add FormatLog method to Episode/EpisodeList/EpisodeRange

EpisodeList.FormatLog takes an EpisodeCount instead of an int; and each
subrange is formatted according to the log of the count for its own
type.
udp, anidb: Lock shared data, return APIReply for authentication

Makes error reporting easier.
anidb: Log UDP traffic

But only the first line of replies. ReAuth and Logout need special
handling since they don't use the sendQueue.
anidb: Log HTTP API traffic
anidb: Simplify (*AniDB).EpisodeByID()

Use (*Anime).EpisodeByEID() to search for the requested episode.
misc: Support partial episodes
anidb: Support FilesByGroup/FilesByGID

Takes an Episode, for its recorded AID and episode number data.
Also includes helper method FIDsByGID.
anidb: Support files with partial/multiple episodes

Correct the parsing of OtherEpisodes, rename to RelatedEpisodes. Remove
old debug logging.
anidb: Handle invalid AID HTTP API response