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
```
I liked your example about the files split per `chef_environment` in the RFC.  For documentation purposes, can you add a test in here like:

```ruby
it "should see a template under a subfolder" do
  @cookbook_version.should have_template_for_node(@node, ["missing.erb", "#{node.platform}/test2.erb")
end
```

And then create the `ubuntu/test2.erb` file so it passes.