Lets encrypt can return a clear error when creating a new order without returning an `order_url`.
A missing `order_url` however triggers an early return with error message `no order URL found`. The error from lets encrypt is then never shown to the crate user.
Swapping the `state` and `url` field instantiation in `new_order` is enough to let `Problem::check` emit the lets encrypt error.
### Example case
Requesting a certificate for *example.org*:
Original output:
```
missing data: no order URL found
```
New:
```
API error: Error creating new order :: Cannot issue for "example.org": The ACME server refuses to issue a certificate for this domain name, because it is forbidden by policy (urn:ietf:params:acme:error:rejectedIdentifier)
```
Error variant `Api::Problem` prints "API error: {problem}" however the Problem struct has display impl that starts by printing "API error". Together this results in "API error: API error" followed by the details.
This fixes that by annotating `Api::Problem` with `thiserror`'s `transparent` attribute which forwards the display impl to the underlying types display impl.