DATAJPA-393 - Add support for QueryDSL projections in JPA repositories.

We now support projections via QueryDSL factory expressions in Querydsl. 
Introduced QueryDslJpaPredicateExecutor that contains appropriate finder methods that accept a FactoryExpression for performing custom projections. Unfortunately this isn't supported by other modules (like e.g. MongoDB) this the store specific interface.
Added basic finder variants:
List<T> findAll(FactoryExpression<T> projection, Predicate predicate);
List<T> findAll(FactoryExpression<T> projection, Predicate predicate, OrderSpecifier<?>... orders);
Page<T> findAll(FactoryExpression<T> projection, Predicate predicate, Pageable pageable);

Based on David Liu's initial pull request: #119.

Original pull request: #120.