ISIS-401: highlight row in table if changed by other

How it works:
- When the concurrency exception is found, it is stored in the EntityModel of the row.
- IsisAjaxFallbackDataTable now uses a custom IItemReuseStrategy that allows this this model
to be reused for the repainting of the table with new UI Items.
  - requires EntityModel to implement equals/hashCode
- when repainting is done, the exception is cleared and in its stead the
  row has a class set, "reloaded-after-concurrency-exception".  This is
  styled to highlight the row.
- a new Javascript library "livequery" (MIT licensed), sets up a callback
  that looks for this new class.  It sets up a callback to detect any row
  element with this class and to remove it after a short period.
ISIS-401: show concurrency ex. if object changed while action prompt is displayed

In fact, was displaying already for some actions (eg ToDoItem#updateCost).  However,
for ToDoItem#updateCategories(...) it was not, because the loading of the
object adapters to compute the choices was causing the adapter to be
silently resynced.

This is now captured and we forward onto the entity page, as per normal.