Fix dynamic modal loading.

* Switch dynamically-loaded modals to load on the shown.bs.modal
  event instead of show.bs.modal.
* Put placeholder HTML into the modal div to be shown while the
  dynamic content is being loaded.