make 'extract interface' detect 'assign' as variable

The current *extract interface* does not detect that an attribute has an `assign` and does not add the `variable` annotation in the interface. This pull request fix this.
Plus, bonus track : skip `late` annotation for the interface if present in the implementation.