More efficient execution for finding users by group

I suspect that the current approach is a refactoring artefact from a time when the findAllUsersInGroup method accepted an array of group names. It now accepts an instance of the GroupInterface and the execution of the method is very inefficient.

The problem is that as currently constructed it first builds an array of users and then returns to the database for each user to get the groups to which they belong, so the number of database calls increases linearly with the total number of entries in the user table. The performance implication are noted in issue #243.

This PR leverages the relationship between the group and user models to make better use of the first dB call, eliminating the need for any further pulls on the database.

I've implemented it for Eloquent only as I'm not familiar with Kohana, though the code structure suggests that the same problem will exist there, and a similar solution is likely to be available.