Spec out high level behaviors for cookbook change detection

So far this is just a bunch of unimplemented tests describing the desired behavior. Agree with these? Am I missing any important cases? @opscode/client-engineers