Added code to avoid cross-products when querying entities with sub entities.
Improved the methods in the DatabaseDao for querying objects from the database
with Hibernate so they do not return a cross product with identical records.
Ensured that the returned User object has distinct modules.
Merge pull request #16 from chrismayer/avoid-cross-products

Added code to avoid cross-products when querying entities with sub entities