don't use scope.includes(:user) cross-shard

fixes CNVS-12038

scope.includes(...) doesn't know about sharding. preload_associations
does know about sharding, and will make sure to load all records on any
existing associated shards, handle missing shards, etc., and in at most
one more query than includes(...) would have used

test-plan:
 - load an account's settings page. it still works
 - add a cross-shard account user to that account. still works
 - change the cross-shard AccountUser's user_id to an id from a
   non-existent shard. create a shadow user record on the account's
   shard with that new user id. e.g. in script/console:

     account_user = AccountUser.find(...)
     account_user.user_id = 1_230_000_000_000_001
     account_user.save
     User.connection.execute("INSERT INTO users (id) VALUES (1230000000000001)")

   account settings page should still work (this is what broke
   CNVS-12038)

Change-Id: I38907aa1059ed5ed98f70559ecc16a430372988d
Reviewed-on: https://gerrit.instructure.com/32674
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>