WIP: lazy deep merging
remove lots of useless deep merge duping
remove cache resetting
fix ImmutableAttributeModification exception
fix reset_cache specs busted by removing that
add specs busted by dup removal
typo fix in specs
revert to serdar's deep_merge de-dup version
Merge pull request #2447 from opscode/lcg/lazy-deep-merge2

Lcg/lazy deep merge2
adding some more specs around to_hash
Merge pull request #2464 from opscode/lcg/to-hash-specs

adding some more specs around to_hash
add partial deep merge cache
add more commentary
remove old knockout merge exception

chef 11 has raised an exception on this for nearly 2 years, we
now simply no longer care and don't spend the cycles to check.
provider resolver perf improvement

move the sorting of the providers to after we make the first cut, still
keeps deterministic ordering, but avoids sorting providers we are just
going to throw away.
remove invalid invalidsubtractivemerge specs
remove InvalidSubtractiveMerge class
role_merge can be elmianted now
 #role_merge becomes #merge not #deep_merge
deleted the last end accidentally