use a singleton for DefaultShard

so that if the default shard is created and destroyed multiple times
in a single process (like for specs), the DefaultShard is always
the same

Change-Id: Idbef9cc251f828581d2bcd96a9d9df26aa996a43
Reviewed-on: https://gerrit.instructure.com/30650
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>