Add PartialTupleArray and refactor
Add TupleArray

Add implementation of arrays of unboxed tuples
Alter bounds checking, and use unsafe_* where appropriate
Fix some type annotations