anidb: Try to get (*AniDB).User() from the cache if it's unset
anidb: Use a map instead of various fields that have to be switched

Yet another map for which we have to write a MarshalJSON method...
anidb: Update the MyListAnime when running a mylist file query

Keeps the MyListAnime's cached timestamp as it was before the update, since
this is updating a non-up-to-date view of MyListAnime.
anidb: Implement MyListAdd / MyListEdit / MyListDel

Untested and undocumented.
anidb: Fix crash when MyListAdd/MyListEdit get a nil MyListSet

It's meant to be nillable.
anidb: Add new mylist entry as Unknown if MyListSet doesn't say anything
anidb: Correct the regexp used to verify ed2k hashes

The POSIX character class isn't treated as a character class unless inside
an extra set of brackets.
anidb: Make ReAuth try to use the cache before sending USER query
mylistadd: Add a simple mylist adder as an example program

There's no guarantee that the API is stable yet.