When merging two arrays during deep merge:

  If merge is happening across the precedence levels (i.e. default, override, etc...)
     Pick the array from the higher precedence level
  If merge is happening at the same precendence level (i.e. when we are merging role default attribute with node default attributes)
     Concatanate the arrays.
Specs for the intended behavior of CHEF-4631.
Config option to restore previous array merging behavior in deep_merge when needed.
Fix a comment.
Merge pull request #1118 from opscode/CHEF-4631

CHEF-4596 / CHEF-4631 : Pick the array that is higher in the precedence order instead of merging during deep merge
Merge pull request #899 from juliandunn/CHEF-4380

[CHEF-4380] Fix missing include on shellout mixin
Merge pull request #1119 from opscode/CHEF-4380-10-stable

CHEF-4380: package resource with "source" is broken on EL6 using 11.6.0rc3
[CHEF-4110] Add a "whyrun_safe" attribute to ruby_block

10-stable edition
Add test for whyrun-safe in ruby blocks

Also refactor the code to be slightly cleaner and fix 'updated' bug.
Revert Chef::Config[:why_run] after test

Also, don't claim to be a state_attr.