Disable atomic file updates on Windows

Utilizing atomic file updates (via Chef, e.g. templates) means needing
Administrator permissions to read the SACL from files. While we expect
chef-client to be run as Administrator or with equivlanet permissions, we
expect chef-dk (chef) to be run as a regular user. Even when logged in as
an Administrator, you need to be running your shell with elevated
privileges for atomic file updates to work.

Fixes #109.
Ensure file_staging_uses_destdir is true

This way we are likely to inherit file ACLs on Windows when we create the
tempfile, since we're avoiding the code that reads and sets the ACLs on
a file move from file_atomic_update.

Chef 12 defaults to file_staging_uses_destdir being true, but prior releases
did not. This ensures we keep this setting.
Merge pull request #134 from opscode/btm/windows-atomic-updates

Disable atomic file updates on Windows
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.