Allow to customize the Scala client's behaviour on failure.

- Allow to override the logging message/method when the response is invalid/not found
- When looking for JSON, consider blank contents as none.
1. Unsure if the Scaladocs for this method should be updated to have this `recoverWith` param as well
2. Maybe add simple a test to make sure that the provided recover with is used?