Refactor HTML export
Add export to ZIP

Thanks to @Craxic for his implementation, on which this is based on.
Fix last.fm friend getter erroring due to API idiosyncrasies

last.fm's crazy API returns undefined for no friends, a single friend
datum for a single friend, and an array for more than one.
Fix last.fm loved track getter erroring due to API idiosyncrasies