Avro memory schema registry

If you like the idea, this is a simple class that uses Avro schema fingerprints to generate schema ids instead of an atomic counter variable.  It gets rid of the need to add schemas in the same order across object instantiations and guarantees that clients will get the same id if the same schema is registered more than once.