ISPN-4836 Change entrySet, keySet and values to be backing maps

* Collections now fall back to calling cache or using entry iterator
* Reworked entry iterator to use a visitable command
** Allows for compatibility support
** Also easier detection of transactions


Sorry this class was a smorgasbord before.  I copied this from another part and fixed the relevant parts.  Let me fix this though.