Fix array merging logic during attribute merging

This PR changes the behavior of merging two arrays. New behavior is:

  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.