Adding Type Persuasion for Primitive Types

Original from the old repo: https://github.com/Parquet/parquet-mr/pull/410
JIRA: https://issues.apache.org/jira/browse/PARQUET-2

These changes allow primitive types to be requested as different types than what is stored in the file format using a flag to turn off strict type checking (default is on). Types are cast to the requested type where possible and will suffer precision loss for casting where necessary (e.g. requesting a double as an int).

No performance penalty is imposed for using the type defined in the file type.  A flag exists to 

A 6x6 test case is provided to test conversion between the primitive types.

the ParquetInputFormat already has read this setting from the conf.
I'd rather keep this centralized there and passed as a constructor argument to the RecordReader.