Ignore temporary errors from last.fm

Closes #136
Fix various issues with callbacks and retries

* Track the source of callback spaghetti
* Don't always retry requests
* Appropriately log back in after time