RFC 17 implementation

This branch implements [Chef RFC 17](https://github.com/opscode/chef-rfc/blob/master/rfc017-file-specificity.md). I've only run the unit tests as many of the others seem to take a very long time and some break due to TTY issues:

```
Finished in 2 minutes 14.7 seconds
6864 examples, 0 failures, 30 pending
```
can we make cookbook_version demand an array and push logic like this up higher?  you could throw this into a mixin (which would be marked as deprecated eventually) and then if you're passed a String in the resource you inflate it into an array there?