IMPALA-8151: Use sizeof() in HiveUdfCall to specify non-primitive type's size
IMPALA-8151: Use sizeof() in HiveUdfCall to specify non-primitive type's size

Previously, data type sizes were hardcoded in
HiveUdfCall::Evaluate(). Since IMPALA-7367 removed the padding
from STRING and VARCHAR types, it could read past the end of the
actual value and cause a crash. This change replaces the hardcoded
values with  sizeof() calls to determine the size of non-primitive
types (STRING, VARCHAR and TIMESTAMP) to avoid similar issues in
the future.

Testing:
Ran test_udfs.py on an ASAN build.
Added logs to manually verify the size of bytes copied.

Change-Id: I919c330546fa86b474ab66245b20ceb1f5525b41
Reviewed-on: http://gerrit.cloudera.org:8080/12355
Reviewed-by: Impala Public Jenkins <039b6b20426ff68ebe492b3021890d8c8fd010c9@cloudera.com>
Tested-by: Impala Public Jenkins <039b6b20426ff68ebe492b3021890d8c8fd010c9@cloudera.com>

cloudera/Impala,cloudera/Impala,cloudera/Impala,cloudera/Impala,cloudera/Impala,cloudera/Impala,cloudera/Impala