fix #1519

the 128th element in an array literal would trigger a corner case on
splat mode checking, in which mruby will splat an that value into its
parent array. the issue was masked by the fact of ary_concat() also
accept non-array value:

1.9.3p286 :002> a = 1
1.9.3p286 :003> [*a]
 => [1]

the expected behaviour should be OP_ARYPUSH the 128th element
unless it's in splat mode, instead of splatting it by OP_ARYCAT.