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, instead of
splat it by OP_ARYCAT.
Merge pull request #1521 from Fleurer/issue-1519

fix #1519