extend @Contract annotation to build contract classes to one file

this pull request extends the generation of the Contract classes into one if the name of the Contract class is the same, if they are not the same they are put into separate classes