issue #323, allow parquet hive table to change column type

If parquet hive table's column type is changed,  ParqueHiveSerDe will try its best to cast/convert to target type (based on objectinspector). If it cannot convert successfully, return null, which is current hive behavior.

Also in createPrimitive method, there is no need to create a new Writable object every time --- create new object only when Writable object is not of expected class.