Change all xml parsing to using expat.

Change the expat callback parsing to be more generic (instead of update
related) and use it for all our xml parsing needs.  This makes the code
share some helper functions (reducing complexity), uses less memory
(since the xml is parsed incrementally into our internal lists/objects)
and fixes a bug in get_updated_series() where it would return some bogus
items due to nested "Series" tags inside other tags.  Also got rid of
a few more unused functions.