[DWRF] Handle Hive weirdness with null keys in maps

Summary: In Hive, with certain formats the map object inspector will say the size of a map is 1 and return an empty map when getMap() is called (e.g. LazyMap).  This breaks DWRF.  To handle this, don't trust getMapSize, instead treat the map returned by getMap as the source of truth.

Test Plan:
Added a testcase which demonstrates the issue.

Running ptests.