make sure Shard.shard_category is configured correctly

Change-Id: Ie6e0cd2a8b55fbddb1ebbbf581dd03666f3be256
Reviewed-on: https://gerrit.instructure.com/29794
Reviewed-by: James Williams  <jamesw@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
create new shards transactionally where possible

also clean up the shard if it failed to create

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