created optimized versions, added unit tests, new benchmarks

Created optimized versions of ArrayQuery class
* one with less function calls(made possible with goto-statements)
* second with micro optimizations(changed is_array function call to faster for small arrays language construct)
* created unit tests to make sure all classes work as intended
* created new benchmarks to compare the optimized versions