Add cucumber test for helpful constraint error message

Right now, the error message that comes back when a solution cannot be found is not very helpful. It includes the entire demands graph instead of the "unresolvable" things. 

```text
Unable to find a solution for demands: [#<Berkshelf::Dependency: apt (= 2.1.1), locked_version: #<Solve::Version 2.1.1>, groups: [:default], location: default>, #<Berkshelf::Dependency: build-essential (= 1.4.2), locked_version: #<Solve::Version 1.4.2>, groups: [:default], location: default>, #<Berkshelf::Dependency: chef-client (= 3.0.4), locked_version: #<Solve::Version 3.0.4>, groups: [:default], location: default>, #<Berkshelf::Dependency: dynect (= 1.0.4), locked_version: #<Solve::Version 1.0.4>, groups: [:default], location: default>, #...]
```

Here's a cucumber test for what I think the response should look like. This may actually be further down the stack in Solve, but I'm not super familiar with that codebase.

/cc @andrewGarson