[CONNECT C++] Can we have a read-only ElementAgenda

The ElementAgenda provides a collection of elements.  It's useful to enumerate the collection to harvest information.  However, the enumeration methods (e.g. _OnElementModify()) pass a non-const EditElementHandle.

When harvesting information, it would be useful to have a const enumeration method (e.g. _OnElementPeek()) that passes an ElementHandle.  Currently we  have to return an unintuitive !SUCCESS from the enumeration methods to ensure that the element is not modified or removed from the agenda.