Description
This patch:
- Ensures that proper write handlers are defined for all data types
- Moves the decorator module to a separate source file in the top-level 'datatypes' directory
- Renames avro_value_info to avro_value_module
- Removes internal types (AVRO_DECORATOR, AVRO_FIELD) from public API since they are private types
- Adds a new opaque avro_value type and removes all references to it in the private code
This patch is part of the prep work needed to start a public API and complete unit tests for the complex types.