Added tests for ArrayObject, lots of compatibility updates, changed around quite a few objects