KUDU-1261 Python array datatype fixes

 - When setting an array, added reserve since the size is known
   beforehand.
 - Added support for decimal type:
    - If precision <= 9 → use Int32 SetArrayUnscaledDecimal.
    - Else If precision <= 18 → use Int64 SetArrayUnscaledDecimal.
 - Added type_to_string function to ColumnSchema (new addition).
 - Updated the Schema.__repr__ function to properly cover array types.
 - Added tests for stringification.
 - Updated test cases to cover decimal types.
 - Added a test case for schemas with array columns containing only
   None values.
 - Added decimal array tests for both Int32 and Int64 code paths.

Change-Id: I77292b07a854b4f48a75d4e1293f302e8bad9129
Reviewed-on: http://gerrit.cloudera.org:8080/23494
Reviewed-by: Alexey Serbin <alexey@apache.org>
Reviewed-by: Gabriella Lotz <lotzgabriella@gmail.com>
Tested-by: Marton Greber <greber.mx@gmail.com>
5 files changed