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'm not totally sold on this exception. The "lockfile cookbook" is not "invalid". If anything, the Berksfile has changed or the remote service has changed. I don't that "invalidates" the lockfile.