File Specificity Overhaul

The point of this is to move file-specificity out of core chef inside the providers and allow for writing library code.

Eventually the built-in file specificity should be deprecated and removed.  So, adding platform_family here doesn't help that move forwards at all.

As soon as this goes live, however, someone could write a cookbook with a library helper that just fed [ "/#{platform_family}", "/" ] as an array to source.  We can also have a helper cookbook/library/dsl method eventually for backcompat once we get around to ripping it out of the core providers (Chef-14 or so).