New command line option -allow-name-overlap

Type annotations added to the generated code to support this
First round, just records in JSON, looks like it's working
Will make changes to the other generators and support variants next
Don't need to pass name_overlap that far up

Initially I was only writing the annotations when the
-allow-name-overlap flag is on, but that adds more complexity and it
won't hurt to always annotate. So I don't need to pass that param
Annotations for biniou

This appears to work too. Not sure if I'm missing some features though,
only done very minimal testing so far, gonna make some test cases
Oh right, I don't have to handle polymorphic variants

Maybe this is all that needs to be done?