Add a basic QArray struct and a function for indexing into it
Add a basic QArray struct and a function for indexing into it

Add a struct to represent our core array type, QArray. This will store
N-dimensional arrays by expanding them into a contiguous 1D Vector, and
uses an `index` function to map coordinates in 3D space into offsets
from the start of the contiguous array.

This code is somewhat messy and difficult to understand but there are
several test cases to ensure it is correct.

Ap0c/quota