Work in Progress

Here, `is_array` is implemented differently from `luvit`'s `utils.dump` (https://github.com/virgo-agent-toolkit/luvit/blob/virgo-dev/lib/luvit/utils.lua#L135)

An example showing difference between the two method is `{[1] = 1, [2] = 2}`. This results in a table, which when `pairs()`, is iterated in a reversed order (2, then 1). It's evaluated to be an array here, but not in `luvit`'s implementation.

I feel this version is more consistent with what's described here: http://www.lua.org/pil/11.1.html

What do you think?