OAuth2: Fix app icon uploading

- App icon changing is on an SSL page, so it should set
 an icon_url with https
- Use a unique name based on contents, to avoid CDN caching
 issues
OAuth2: Save http links to client.icon_url