Rewrite offsets calculation logic for Variable Size Lists (#18)
This PR rewrites the offsets calculation logic so that:
1. Offsets are calculated body recursively - the offsets of the data
array are used as the basis for var list array without recalculation
2. Fixed type offsets are built - the offsets of a fixed type are
calculated from the type and length of the flattened values. This
unfortunately is not body recursive, and is recalculated on recursing to
the next level, but is very cheap since it is calculated from the type
and not the actual values.
Additionally some bugs were fixed with binaries as inputs, longhand
and shorthand differentiation added to typespecs.7 files changed