Fix authorizations custom list loader [story:57222576]

* Due to disconnect of Model instances to stop event proliferation, the
  authorizations list was loading correctly but attempting to display
  only stubs.  Added `.reify()` in a few places to fix.
Fix GGRC.queue_event

* `GGRC.queue_event` would previously act as `setTimeout(..., 100)`,
  because the `currentTimeout` would never not be `null`, and thus
  always trigger `runNext()` for each call.  E.g., queued functions
  would actually be run in "parallel" -- with only the initial delay,
  but no delay relative to the previous queued function's completion.
Add and handle DirectiveControl model

* There are now two linkings between Directive types and Controls --
  either Control#directive_id or DirectiveControl.
Add details about mappings to trees

* Shows the list of objects to which the current node instance is
  mapped.
* Cleans up `MappingResult` class with more consistent observe /
  compute-triggering support.
* Adds a few Mustache helpers to provide needed functionality.
Merge remote-tracking branch 'origin/develop' into feature/mapping-cleanup
Add basic `_display_name` to `Role`, `UserRole`

* [story:56095962]
Fix "already mapped" messages in two cases

* When mapping from LHN, show the error message when POST returns an
  error
* When mapping from ModalSelector, don't throw an error if the modal has
  been closed before POST response comes in
Fix issue of removing multiple nodes from one `unmap`

* Issue was that `removeChild` handler only checked for `id`, but some
  lists can contain multiple types.  When `id` of multiple objects
  overlapped, it would remove all matching elements (but not `unmap` in
  the database.)
* Also make consistent the `li` elements of TreeNode views.  They all
  now use `data-object-id` and `data-object-type`, and
  `data-object-type` is always `instance.constructor.table_singular`.
Remove `print` from `ggrc.fulltext.mysql`

* It appears as an error in AppEngine server logs
Merge branch 'feature/mapping-cleanup' into feature/authorization-checkboxes
Fix authorizations widget issues

* Main issue: update checkbox state after replacing `this.join_list`,
  since this `replace()` operation causes the options to be redrawn
* Also remove `update_list_target`, since we never use `tmpl`-style list
  templates anymore
* Also ensure checkbox state only changes after server confirmation
* Also don't use `getRootModelName`, just `shortName`