PanacheQueryImpl.firstResult() retrieves more than one item from the database
**Describe the bug**
Reading the code of `PanacheQueryImpl.firstResult() ` it seems to retrieves more than one item from the database.

```
@Override
    public <T extends Entity> T firstResult() {
        List<T> list = list();
        jpaQuery.setMaxResults(1);
        return list.isEmpty() ? null : list.get(0);
    }
```

As the `setMaxQueryResult` is called after listing the results, it is useless and the query will be sent to the database with the previously set max result (Integer.MAX_VALUE by default)

**Expected behavior**
`firstResult()` retrieve one or zero item from the database.



**Environment (please complete the following information):**
 - Quarkus version or git rev: 1.0.0.CR1 and current master

**Additional context**
If the bug is aknowledge, I can propose a PR to fix it.

diff --git a/extensions/panache/hibernate-orm-panache/runtime/src/main/java/io/quarkus/hibernate/orm/panache/runtime/PanacheQueryImpl.java b/extensions/panache/hibernate-orm-panache/runtime/src/main/java/io/quarkus/hibernate/orm/panache/runtime/PanacheQueryImpl.java
index 8b8cd9ce9ac..404514c3fc6 100644
--- a/extensions/panache/hibernate-orm-panache/runtime/src/main/java/io/quarkus/hibernate/orm/panache/runtime/PanacheQueryImpl.java
+++ b/extensions/panache/hibernate-orm-panache/runtime/src/main/java/io/quarkus/hibernate/orm/panache/runtime/PanacheQueryImpl.java
@@ -127,8 +127,8 @@ public <T extends Entity> Stream<T> stream() {
 
     @Override
     public <T extends Entity> T firstResult() {
-        List<T> list = list();
         jpaQuery.setMaxResults(1);
+        List<T> list = jpaQuery.getResultList();
         return list.isEmpty() ? null : list.get(0);
     }
 
['extensions/panache/hibernate-orm-panache/runtime/src/main/java/io/quarkus/hibernate/orm/panache/runtime/PanacheQueryImpl.java']