Another round of refinement to iterator code and documentation per feedback from Sherm, in particular:
- Reformat and beef up documentation
- Changed iterator into const_iterator for consistency with standard
- removed unnecessary initialization of ClonePtr
- Fix setFilter in case a user passes in nullptr
- use const ComponentFilter* instead of ComponentFilter*