CDK-210: Fixing user/pass order in URI builders.

This was overlooked when fixing CDK-210. When building FS URIs, this
should use the correct user-then-password order.
Avro requires that map keys are CharSequences
Add tests for Avro to Hive schema conversion.
CDK-189: Adding initial CSV support.

This uses OpenCSV to parse the records into String[], then uses the avro
Schema to map the strings to the correct field types. If a field is
missing or doesn't parse to correctly (e.g., causes a
NumberFormatException) and the field is not nullable, then the schema's
default value is used. If the default value is missing, then an error is
thrown. The mapping does not currently support fixed, bytes, map, array,
or record types as field schemas.

If the record's class isn't found by Class.forName, the records returned
are GenericData.Record objects. If it is found, then it is instantiated
using ReflectData. Specific and Generic records are fully-supported, but
POJOs are supported only if they implement bean-style setter methods,
like setField. This is consistent with entity handling elsewhere, but
not as flexible as avro reflect.
Make CSVFileReader package-protected since it is never accessed directly by users.
CDK-126. Fix ColumnEncoder/Decoder issues.