Skuzzy refactoring of display of DescribedEntities, where what we show
on the search items list is the description and not the logical object.
But to make sense of this, we rely on the logical object being deserialized,
which I still don't quite trust 100%, so make it obvious if something unex-
pected goes wrong here.
More work on search item display
Make committing updates optional (but on by default). Add another
function to do just commits.
At the expense of greater complexity (ugh) add several enhancements
to the type indexer.

 - the data is now only committed when all updates successfully complete
 - the channel is properly closed when updates complete

TODO: Fix error handling to be a bit smarter.