Implement Policyfile evaluation

This patch adds library code to evaluate a Policyfile and handle some of the expected common error cases. Also includes some (pending) test cases to describe how ChefDK should handle various Policyfile inputs when constructing a dependency graph and demands. A subsequent pull request will implement that behavior.