Ignore cookbooks from universe if already present

In case a custom location (SCM, path) is specified for a cookbook,
ignore the cookbook version from remote locations like Opscode or a Chef
server.

This is necessary in case a local (potentially development) version uses
different dependencies. The "missing dependency" specified in the
feature is only one possible error scenario, the graph solution can fail
also in other ways.
Fix graph resolution with wrong constraint for path demand

In case a cookbook is used from a custom location (SCM, path) this
change ensures that the graph gets solved for that exact version.
Merge pull request #976 from grobie/fix-path-constraint

Make sure path/scm location is used during dependency resolution