Improve JSON.parse errors
`JSON.parse` errors are not handled nicely like other errors are. A custom error class should be exported, and the instances should have a 400 status code for a correct response to the client.

See:

- https://github.com/jaydenseric/apollo-upload-server/blob/v6.0.0-alpha.1/src/middleware.mjs#L63
- https://github.com/jaydenseric/apollo-upload-server/blob/v6.0.0-alpha.1/src/middleware.mjs#L79

To duplicate the issue: With a basic server setup like the [example API](https://github.com/jaydenseric/apollo-upload-examples/tree/master/api), send a multipart GraphQL request with a JSON syntax error in one of the JSON form fields. The response to the client will be a 500 status, when it should be a 400.