Fill in default values for new fields in the read schema that
were not in the write schema.

Some of the implementation was inspired by
https://issues.apache.org/jira/browse/AVRO-1228.
Don't deep copy immutable primitive types.
Merge pull request #299 from tomwhite/avro-fill-in-default-values

Fill in default values for new fields in the Avro read schema