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
Merge pull request #1520 from pbosetti/master

Added test for inline arrays longer than 126 elements.
Improve Grammar of Documentation
Implement gembox-relative gemdir paths

In the case where a relative path is specified to a gembox from
build_config.rb, it was previously tricky to specify relative gem paths
from inside that gembox.

For example, consider a project in which mruby is checked out as a
submodule in the project root:

	+- project_root
	   |
	   +- mruby/
	   |  |
	   |  +- build_config.rb
	   |  |
	   |  +- ...
	   |
	   +- my_gembox/
	      |
	      +- my_gembox.gembox
	      |
	      +- my_gem/
	         |
	         +- mrbgem.rake
	         |
	         +- ...

If build_config.rb refers to my_gembox with a relative path, it's
difficult for my_gembox to then refer to my_gem. With this proposed
change, my_gembox.gembox can look like this:

	MRuby::GemBox.new do |conf|
	  conf.gem "my_gem"
	end
Fix for caller_dir relative gems
Merge pull request #1523 from wrl/relative-gembox-nokeyword

Implement gembox-relative gemdir paths
Merge pull request #1522 from bovi/patch-1

Improve Grammar of Documentation