Fix nested union

Due to the recursive calling of discover() and oracle() functions in TypeInference.java, it could happen to consruct nested unions. But nested unions are not allowed by Avro (as of version 1.7.4), so an AvroRuntimeException is thrown with "Nested union" message. 

This fix would force a BaseProphecy by concating all tokens in a chunk into a string token, when nested union is detected in oracle().