Wrapper for read-only collections

The main use case for this are collections getters in entities.
This also does not break extra-lazy-loaded collections, which are (should be) pretty often.
The BaseEntity was modified as well, but to keep backward compatibility, one has to pass a parameter `TRUE` to get the wrapped collection instead of array (which is default).

(It's a proof of concept after today's discussion on Jabber room, not tested, but imho ready to use.)