Core: Allow more than 2 arrays for merge function.

Function merge now have only 2 arrays for merging. This patch allow to have more than 2 arrays for merging, same as function extend allows more then 2 plain objects merge.