LPS-46658 get the long pks of associated entities for performance improvements
LPS-46658 add methods to service layer
LPS-46658 improve performance by fetching the longs instead of the entities
LPS-46658 Add CollectionUtil to do smart intersect, ArrayList.retainAll() prior JDK7 is very inefficient as it moves internal array on every removal. To overcome that, this utility wraps Collection into HashSet if necessary, and always does retain from the smaller collection to the larger one to reduce iteration counts.
LPS-46658 Unit test
LPS-46658 Move logic into service method to reduce service calls and ensure all queries happen within the same tx
LPS-46658 Apply to SitesImpl
LPS-46658 Clean up Sites api
LPS-46658 Apply to jsps
LPS-46658 Use SetUtil instead of CollectionUtil
LPS-46658 Rename to get*PrimaryKeys, they may not always be "ids"
LPS-46658 SF
LPS-46658 SF
LPS-46658 build-services to regenerate persistence
Revert "LPS-46658 SF"

This reverts commit 3351721b7e226905ec6cc6fa75a109966ce4f11f.
LPS-46814 - paths
LPS-46814 - macros
LPS-46814 - tests
LPS-46811 - paths
LPS-46811 - macros