Avoid contention causing multiple requests to API
If multiple tasks see that the scrobble cache is out of date
simultaneously, they will all requests write access concurrently. If
there is no check after they have been given the lock that another task
hasn't already got there first then multiple tasks could make the same
call to the last.fm API, writing and re-writing over a perfectly fresh
value.