Fix issue where the get_cached_token method returns None instead of the
cached token object, meaning that users have to login again when the
initial token expires. The problem has two aspects:
- The first time the user calls get_cached_token after token
expiration, the token is refreshed but the "new_token_info" object is
not returned.
- The second time the user calls get_cached_token after token
expiration, the scope check fails, because the refresh_access_token
method didn't include the "scope" key when it cached the new
token_info results.
user_playlist doesn't work with starred playlists, which pass an ID of None.
This will allow the user to pull data for starred playlists, which use the URI users/%s/starrred