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`.