Error handling with callback state
I set up grant with callback state, however error handling now goes into a redirect loop:

Here is for a undefined provider:

```
$ http http://localhost:9000/connect/twitch
HTTP/1.1 302 Found
Connection: keep-alive
Content-Length: 79
Content-Type: text/plain; charset=utf-8
Date: Sun, 24 May 2020 17:05:18 GMT
Location: ?error=Grant%3A%20missing%20or%20misconfigured%20provider
Vary: Accept
X-Powered-By: Express

Found. Redirecting to ?error=Grant%3A%20missing%20or%20misconfigured%20provider

$ http http://localhost:9000/connect/twitch?error=Grant%3A%20missing%20or%20misconfigured%20provider
HTTP/1.1 302 Found
Connection: keep-alive
Content-Length: 79
Content-Type: text/plain; charset=utf-8
Date: Sun, 24 May 2020 17:05:43 GMT
Location: ?error=Grant%3A%20missing%20or%20misconfigured%20provider
Vary: Accept
X-Powered-By: Express

Found. Redirecting to ?error=Grant%3A%20missing%20or%20misconfigured%20provider
```

and the code like this:
```
app.use(
  "/connect/:provider/:override?",
  express()
    .use(grant(grantConfig))
    .use((req, res) => {
    // never reaches here
  }))
```