Allow users to inject their own QueryBuilder into the Entity source (backwards compatible)

Hi,

This relates and expands the previous pull request #409.

At the moment the Grid creates its own QueryBuilder for fetching data. Sometimes the user may want to use an externally provided QueryBuilder which should be further modified by the Grid for displaying of information.

The use case is as per PR #409 - I have another service/repository which contains a lot of business logic for filtering of information. It generates basic QBs and I build on top of that with the Grid's capabilities. I cannot use prepareQuery() because (a) external service information flows one way only and (b) both of this PRs are stepping stones to the bigger change to optionally allow users to fetch full models and thus use getters/setters (I will submit that when I have a clean solution).


Sorry, this PR includes all changes from PR #409 - I don't know what I'm doing with Pull Requests. The actual changes in the scope of this PR are here 
https://github.com/eugene1g/APYDataGridBundle-1/pull/new/eugene1g:table-alias...eugene1g:inject-query