fix loading and initialization of tz

calling changeZone and changeLocale in the common bundle didn't work,
because although it was always executed, the calls were asynchronous and
might not complete before other bundles that wanted to use tz ran.

instead, turn it into a plugin that doesn't call load() until the
zone/locale are applied, and then wrap that plugin (for ease of
requiring).

Change-Id: Ie467103df86d0a30d836a2012faa9955110c7e85
Reviewed-on: https://gerrit.instructure.com/31640
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>