updated documentation, moved CollectionIterator out into it's own independent class rather than be an inner class of Collectible