CRUNCH-357: Changed AvroMode to no longer an enum, an
 immutable object, exposed means of injecting instance into AvroFileSource,
 and added tests.