fix cross-shard user avatar url caching

changed the avatar url caching so it always uses the user's
home shard with the user's local id. this makes it easier to
invalidate the cache.

fixes CNVS-12091

test plan:
 - setup canvas with multi-tenancy enabled.
 - setup two accounts on separate shards.
 - enable avatar images on the accounts.
 - setup a user that can login under both account domains. using
   a site-admin is an easy wasy to do this.
 - as the cross-shard user, go to an account that is not on the
   user's home shard and go to the user's profile or user
   settings page.
 - update the user's avatar from this account.
 - refresh the page; the avatar update should stick.
 - make sure the avatar is updated on other pages as well.

Change-Id: Iaa11ceae28c4fb552962a9230e3c17359dc4b75b
Reviewed-on: https://gerrit.instructure.com/32728
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Braden Anderson <banderson@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>