implement grouped calculations across shards

Change-Id: I11e9c4297651ed5178e6f2d1f2d751efde2d753c
Reviewed-on: https://gerrit.instructure.com/28384
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
allow passing options to instance level transaction method

Change-Id: I1ada181665a4abe6cb2a04095e6a9ef5d658bdc0
Reviewed-on: https://gerrit.instructure.com/28529
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>