add create_if_missing to files which will be customized

this makes it more useful to be able to run the generator on
already created cookbooks to update them.
Removes ignoring of CHANGELOG

We now use the CHANGELOG in the cookbook on Supermarket to display it on
the site. Let's remove this in the case that `knife cookbook site share`
obeys chefignore.
Remove monkey patch in CookbookVersionLoader, now unneeded
Spec out high level behaviors for cookbook change detection
Add more cases for lockfile validation specs
Use `LocalCookbookNotFound` for local cookbooks
Pass a CookbookVersion object to cookbook profilers

This de-duplicates cookbook loading.
Use the strict #load! method in cookbook version loader
Use strict mode when loading cookbooks for lockfiles
Add basic metadata validation for locked `path` cookbooks
Implement lockfile update for non-dep graph related cases
Include dependency graph in policyfile lock

Policyfile lock can now check deps in updated cookbooks (though only
"local dev" cookbooks are allowed to be modified). To facilitate this, a
copy of the dependency graph is stored in the lockfile. As of this
commit, storing the graph in the lockfile is only partially implemented,
it must still be integrated into the policyfile compiler.
Stub out spec for another edge case
Emit solution dependency info from solved policyfile
Re-use SolutionDependencies implementation throughout policyfile process
Verify that dependencies are still satisfiable after cookbook updates
Validate that cached cookbooks are unmodified.
Update to 12.0.0.alpha.1 of chef

Policyfile code now depends on Chef::CookbookVersionLoader using the
`name` attribute from metadata.rb.
Merge branch 'lockfile-detect-changes'
Merge pull request #131 from opscode/cwebberOps/fix_chefignore

Removes ignoring of CHANGELOG