octascript: new array type (0 based, half open ranges)

This provides a new array type for OctaScript. Unlike tables, arrays are objects and provide
an interface. The interface can be used by calling methods on arrays and provides about the
same functionality as the "table" library. For now this is a work in progress.