anidb: Allow setting the Logger to use for logging traffic

By default, log to ioutil.Discard (logging to nil would result in a crash).

The udpWrap now needs to keep a reference to *AniDB in order to use the
Logger. UpdateTitles also had to be changed to be an *AniDB* method because
of the Logger.
mylistadd: Say on stdout that you're waiting on the API

The lack of protocol spam due to the new default logger makes the program
weirdly pause at the end.
anidb: Avoid crash during MyListAdd / MyListEdit

Could happen if a file is added without a cached MyListEntry. Make a fake
MyListEntry and cache that, with an old enough Cached timestamp to make
it always stale.

Also change the always stale timestamp in parseMylistReply to a more
reliably ancient one.
anidb: Add a few more linking methods
mylistadd: Only add if the file isn't on mylist yet

Edit the file state to MyListStateHDD otherwise.