when a plugin depends on an attribute that doesn't have a provider, look for providers in parent attribute(s)
move lookup of parent providers for attributes from runner to provides_map
separate out different ways of gathering attribute providers into different methods
add methods for verifying and splitting attributes, fix behavior of find_closest_providers_for to look for a parent attribute that actually has providers, create new error Ohai::Exceptions::ProviderNotFound to indicate when an attribute exists in the mapping but doesn't have any listed providers
Merge pull request #240 from opscode/OC-9410

when a plugin depends on an attribute that doesn't have a provider, look for providers in parent attribute(s) and pick those to run instead.
Fix dependency cycle error explanation.
Remove Solaris2 DMI self-dependency

In any case, this wasn't going to work, but may leave this plugin
non-functional on Solaris2. We need to work out how a platform-specific
collect_data block can call the default one when needed to make this
plugin work correctly again.
Explicitly test dependency cycle detection for self-dependency