Make CByteArray extend CArray.

This means that byte arrays should behave like arrays in all cases. array_get's clone operation has been updated to create the proper type for clones and slices as well. There could be other functions that should probably end up being modified to use the new CArray.createNew() method, but those will have to be examined on a case by case basis. In general, this faces the need for abstract constructors, so this problem isn't fully solvable yet.