lab 4: shop & shared: moved GrantedAuthorityRoles from shop to shared and
updated imports in AccountController and OrderPolicy.
lab 4: guild: added GuildUserEventChannel and manager, when a user registers
an event channel is created for them automatically, updated the user_profile
page to display the user's channel information where specified, and updated
the sprint context to initialize the GuildUserEventChannelManager.
lab 4: shop: add FlowerShopGuildEventChannel and Manager and updated the
ShopProfileController to ensure that the channel exists and to accept a
send ESL for the channel.
lab 4: shop: updated OrdersController to send events to the guild,
moved the default channel ID constant from ShopProfileController to
FlowerShopGuildEventChannelManager.
lab 4: shop: removed unused constant from ShopProfileController.
lab 4: shared: created EventDispatcher with static function to handle event
dispatching. guild: updated EventDispatchController to use
EventDispatcher.dispatchEvent().
lab 4: shop: updated EventDispatchController to use the EventDispatcher.
dispatchEvent() and to handle the new event channel esl pattern.