Add support for DECIMAL type annotation.

Changes:
* Add Types builder API to consolidate type building, consistency checks
* Update schema parser to support precision and scale on DECIMAL:
```
required binary aDecimal (DECIMAL(9,2));
```
* Update writeToStringBuilder methods to add precision and scale
* Add DECIMAL conversion in ParquetMetadataConverter
* Add precision, scale conversion in ParquetMetadataConverter
* Add OriginalTypeMeta to hold type annotation metadata (e.g., scale)
* Add more testing to ensure compatibility