Improve error message when lockfile has missing cookbook or version.

This was found in #1221 which had a corrupted Berksfile.lock due to both metadata.rb and metadata.json present.  However, this could also happen if someone deleted a cookbook from a server, or if someone changed the sources in Berksfile and tried to do an install.  The previous behavior was the ugly exception trace in #1221; now it generates a message explaining that either the cookbook is missing or the version and offers advice on how to fix.
I think this message should be more "English" and should include the version:

```text
Could not find foo (0.1.0) at any of the remote locations! This can happen if the remote cookbook has been deleted, or if the sources inside the Berksfile have changed. Please remove the Berksfile.lock and try again.

Removing the Berksfile.lock could cause unwanted side-effects, such as installing new versions of previously locked cookbooks.
```