0.3.19: Logical type support in fast-avro and a few more serde optimization
[fast-avro] Added a few serde optimization (#517)
Serializer:
This code change will try to reuse the backed bytes if the float list
is 'BufferBackedPrimitiveFloatList' when writing float list.
If an instance of `BufferBackedPrimitiveFloatList` is changed after
deserialization: `readPrimitiveFloatArray`, Fast Serializer won't
use the backed bytes because of the divergence.
Deserializer:
Use `reset` instead of `clear` when reusing `GenericArray` since `reset`
is cheaper than `clear` and the behavior difference is that `reset` won't
nullify the elements in current array, but just resize the array length to be 0.