combine array encoding code with tuple encoding code;
move TupleType/ArrayType-specific methods out of ABIType;
no longer have UnitType override encodeHead (BigIntegerType and BigDecimalType still do);
refactor some method signatures in PackedDecoder;
combine array encoding code with tuple encoding code; move TupleType/ArrayType-specific methods out of ABIType; no longer have UnitType override encodeHead (BigIntegerType and BigDecimalType still do); refactor some method signatures in PackedDecoder;