Pojo Support for Parquet

Needs documentation, will follow up with more commits. 

Input / Output formats for pojo support for Parquet.  Supports arbitrarily deep object graphs, respects generics (though something like Map<Map<Integer, Integer>> won't work, but Map<Integer, Integer> will. 

Has support for all the primitive types and their object versions, both at the top level and nested within other objects, supports any array type, will not box primitives.  Supports lists and maps as well, and will respect their generics (with the caveat listed above). 

Uses ReflectASM for field access if accessible (not private), falls back to cached reflection if necessary (Kryo does this but also has an field accessor that uses unsafe).  Supports enums and strings natively, enums are serialized as their ordinals, and the ordinals are serialized into the file headers and verified on load.